English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite HAVING 문

جمله HAVING به شما امکان می‌دهد شرایطی را مشخص کنید که کدام گروه‌ها در نتیجه نهایی نمایش داده شوند.

جمله WHERE شرایط را روی ستون‌های انتخاب شده قرار می‌دهد، در حالی که جمله HAVING شرایط را روی گروه‌هایی که توسط جمله GROUP BY ایجاد شده‌اند قرار می‌دهد.

نحوی

در اینجا مکان جمله HAVING در جستجو SELECT آورده شده است.

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

HAVING جمله باید پس از جمله GROUP BY در جستجو قرار گیرد و اگر استفاده شود، باید پیش از جمله ORDER BY قرار گیرد. در اینجا نمونه نحوی جستجو شامل جمله HAVING آورده شده است.

SELECT ستون1, ستون2
FROM جدول1, جدول2
WHERE [شرایط]
GROUP BY ستون1, ستون2
HAVING [شرایط]
ORDER BY ستون1, ستون2

نمونه آنلاین

به جدول COMPANY با این ضبط‌ها توجه کنید.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           پاول        32          کالیفرنیا  20000.0
2           الن       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           دیوید       27          Texas       85000.0
6           کیم         22          جنوب-هال  45000.0
7           James       24          هاستون     10000.0
8           پاول        24          هاستون     20000.0
9           James       44          Norway      5000.0
10          James       45          Texas       5000.0

در اینجا یک نمونه آورده شده است که نشان می‌دهد تعداد نام‌ها کمتر از2의 레코드.

sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) < 2;

이는 다음과 같은 결과를 생성합니다.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           الن       25          Texas       15000
5           دیوید       27          Texas       85000
6           کیم         22          جنوب-هال  45000
4           Mark        25          Rich-Mond   65000
3           Teddy       23          Norway      20000

다음은 예제로, 이름 계산이2의 레코드.

sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) > 2;

이는 다음과 같은 결과를 생성합니다.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
10          James       45          Texas       5000