SQL HAVING 语句
- หน้าก่อน SQL Group By
- หน้าต่อไป SQL ucase()
HAVING คำสั่ง
เหตุผลที่เราเพิ่ม WHERE คำสั่งใน SQL คือ ไม่สามารถใช้ WHERE คำสั่งกับฟังก์ชัน合计ได้
SQL HAVING การใช้งาน
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value
ตัวอย่าง SQL HAVING
เรามีตาราง "Orders" ดังนี้:
O_Id | OrderDate | OrderPrice | Customer |
---|---|---|---|
1 | 2008/12/29 | 1000 | Bush |
2 | 2008/11/23 | 1600 | Carter |
3 | 2008/10/05 | 700 | Bush |
4 | 2008/09/28 | 300 | Bush |
5 | 2008/08/06 | 2000 | Adams |
6 | 2008/07/21 | 100 | Carter |
ตอนนี้ เราต้องการหาลูกค้าที่มีจำนวนเงินสั่งซื้อทั้งหมดต่ำกว่า 2000
เราใช้ SQL คำสั่งดังนี้:
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer HAVING SUM(OrderPrice)<2000
ผลลัพธ์ตารางเหมือนนี้:
Customer | SUM(OrderPrice) |
---|---|
Carter | 1700 |
ตอนนี้ เราต้องการหาลูกค้า "Bush" หรือ "Adams" ที่มีจำนวนเงินสั่งซื้อทั้งหมดเกิน 1500
เราเพิ่ม WHERE คำสั่งทั่วไปใน SQL คำสั่ง:
SELECT Customer,SUM(OrderPrice) FROM Orders WHERE Customer='Bush' OR Customer='Adams' GROUP BY Customer HAVING SUM(OrderPrice)>1500
ผลลัพธ์ตาราง:
Customer | SUM(OrderPrice) |
---|---|
Bush | 2000 |
Adams | 2000 |
- หน้าก่อน SQL Group By
- หน้าต่อไป SQL ucase()