SQL HAVING 语句
- صفحه قبل SQL Group By
- صفحه بعدی SQL ucase()
جمله HAVING
دلیل اضافه کردن جمله HAVING در SQL این است که کلید WHERE نمیتواند با تابعهای جمعی استفاده شود.
قوانین SQL HAVING
SELECT نام ستون, function_جمع(نام ستون) FROM نام جدول WHERE نام ستون عملگر مقدار GROUP BY نام ستون HAVING function_جمع(نام ستون) عملگر مقدار
مثال SQL HAVING
ما این جدول "Orders" را داریم:
O_Id | OrderDate | OrderPrice | مشتری |
---|---|---|---|
1 | 2008/12/29 | 1000 | بوش |
2 | 2008/11/23 | 1600 | کارتر |
3 | 2008/10/05 | 700 | بوش |
4 | 2008/09/28 | 300 | بوش |
5 | 2008/08/06 | 2000 | ادامز |
6 | 2008/07/21 | 100 | کارتر |
حالا ما میخواهیم مشتریانی که مبلغ کل سفارشات آنها کمتر از 2000 باشد را پیدا کنیم.
ما از این جمله SQL استفاده کردیم:
SELECT مشتری,SUM(OrderPrice) FROM Orders GROUP BY مشتری HAVING SUM(OrderPrice)<2000
نتایج مجموعه مشابه:
مشتری | SUM(OrderPrice) |
---|---|
کارتر | 1700 |
حالا ما میخواهیم مشتری "بوش" یا "ادامز" که مبلغ کل سفارشات آنها بیشتر از 1500 باشد را پیدا کنیم.
ما یک WHERE جمله عادی به SQL معادل اضافه کردیم:
SELECT مشتری,SUM(OrderPrice) FROM Orders WHERE مشتری='بوش' OR مشتری='ادامز' GROUP BY مشتری HAVING SUM(OrderPrice)>1500
نتایج مجموعه:
مشتری | SUM(OrderPrice) |
---|---|
بوش | 2000 |
ادامز | 2000 |
- صفحه قبل SQL Group By
- صفحه بعدی SQL ucase()