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