---
title: SQL Having
description: "## The SQL HAVING Clause – SQL ЭЗЭМШИХ нөхцөл The `HAVING` clause was added to SQL because the `WHERE` keyword cannot be used with aggregate functions. `HAVING` нөхцөл нь SQL-д нэмэгдсэн бөгөөд учир нь `WHERE` түлхүүр үг нь нэгтгэл функцүүдтэй хамт ашиглагдах боломжгүй. ###…"
url: "https://apprentice.mn/docs/sql-having/"
updated: "2024-07-21"
category: SQL
---

# SQL Having

## The SQL HAVING Clause – SQL ЭЗЭМШИХ нөхцөл

The `HAVING` clause was added to SQL because the `WHERE` keyword cannot be used with aggregate functions.

`HAVING` нөхцөл нь SQL-д нэмэгдсэн бөгөөд учир нь `WHERE` түлхүүр үг нь нэгтгэл функцүүдтэй хамт ашиглагдах боломжгүй.

### HAVING Syntax – HAVING Дүрэм

  `SELECT column_name(s)FROM table_nameWHERE conditionGROUP BY column_name(s)HAVING conditionORDER BY column_name(s);`    `SELECT багана_нэр(нүүд)FROM хүснэгт_нэрWHERE нөхцөлGROUP BY багана_нэр(нүүд)HAVING нөхцөлORDER BY багана_нэр(нүүд);`  

---

## Demo Database – Жишээ мэдээллийн сан

Below is a selection from the “Customers” table:

Доорх жишээ нь “Харилцагчид” хүснэгтээс авсан хэсэг юм:

| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
| --- | --- | --- | --- | --- | --- | --- |
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
| 4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
| 5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |

---

## SQL HAVING Examples – SQL HAVING жишээнүүд

The following SQL statement lists the number of customers in each country. Only include countries with more than 5 customers:

Доорх SQL өгүүлбэр нь улс бүрт хэдэн харилцагч байгааг жагсаана. Зөвхөн 5-аас дээш харилцагчтай улсуудыг багтаана:

### Example – Жишээ

> SELECT COUNT(CustomerID), Country
> FROM Customers
> GROUP BY Country
> HAVING COUNT(CustomerID) > 5;

 [Жишээ энд дарж харна уу.](https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_having)  

The following SQL statement lists the number of customers in each country, sorted high to low (Only include countries with more than 5 customers):

Доорх SQL өгүүлбэр нь улс бүрт хэдэн харилцагч байгааг ихээс бага руу эрэмбэлнэ (Зөвхөн 5-аас дээш харилцагчтай улсуудыг багтаана):

### Example – Жишээ

> SELECT COUNT(CustomerID), Country
> FROM Customers
> GROUP BY Country
> HAVING COUNT(CustomerID) > 5
> ORDER BY COUNT(CustomerID) DESC;

 [Жишээ энд дарж харна уу.](https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_having_orderby)  

## Demo Database – Жишээ мэдээллийн сан

Below is a selection from the “Orders” table:

Доорх жишээн нь “Захиалгууд” хүснэгтээс авсан хэсэг юм:

| OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
| --- | --- | --- | --- | --- |
| 10248 | 90 | 5 | 1996-07-04 | 3 |
| 10249 | 81 | 6 | 1996-07-05 | 1 |
| 10250 | 34 | 4 | 1996-07-08 | 2 |

And a selection from the “Employees” table:

Бас “Ажилчид” хүснэгтээс авсан хэсэг:

| EmployeeID | LastName | FirstName | BirthDate | Photo | Notes |
| --- | --- | --- | --- | --- | --- |
| 1 | Davolio | Nancy | 1968-12-08 | EmpID1.pic | Education includes a BA…. |
| 2 | Fuller | Andrew | 1952-02-19 | EmpID2.pic | Andrew received his BTS…. |
| 3 | Leverling | Janet | 1963-08-30 | EmpID3.pic | Janet has a BS degree…. |

---

## More HAVING Examples – HAVING нөхцөлтэй өөр жишээнүүд

The following SQL statement lists the employees that have registered more than 10 orders:

Доорх SQL өгүүлбэр нь 10-аас дээш захиалга бүртгэсэн ажилчдыг жагсаана:

### Example – Жишээ

> SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
> FROM (Orders
> INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID)
> GROUP BY LastName
> HAVING COUNT(Orders.OrderID) > 10;

 [Жишээ энд дарж харна уу.](https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_having2)  

The following SQL statement lists if the employees “Davolio” or “Fuller” have registered more than 25 orders:

Доорх SQL өгүүлбэр нь “Davolio” эсвэл “Fuller” ажилчид 25-аас дээш захиалга бүртгэсэн эсэхийг харна:

### Example – Жишээ

> SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders
> FROM Orders
> INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
> WHERE LastName = ‘Davolio’ OR LastName = ‘Fuller’
> GROUP BY LastName
> HAVING COUNT(Orders.OrderID) > 25;

   [Жишээ энд дарж харна уу.](https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_having_where)           [https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fsql-having%2F&linkname=SQL%20Having](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fsql-having%2F&linkname=SQL%20Having)[https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fsql-having%2F&linkname=SQL%20Having](https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fsql-having%2F&linkname=SQL%20Having)[https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fsql-having%2F&linkname=SQL%20Having](https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fsql-having%2F&linkname=SQL%20Having)[https://www.addtoany.com/share](https://www.addtoany.com/share)
