Mafuta ya SQL HAVING

HAVING 子句

Kina ya HAVING

Inayotumiwa kwa kuingia kina ya HAVING katika SQL ni sababu kina ya WHERE haliwezi kutumika na mifano ya kusababisha.

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

Mfano wa SQL HAVING

Tunaelewa tabia ya "Orders" hii:

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

Sasa tunataka kuona wengi wana matokeo ya kusoma chini ya 2000 ya uchezaji kuu wa kifungu.

Tunatumia sentensi ya SQL inayotumiwa:

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000

Matokeo yana uhusiano:

Customer SUM(OrderPrice)
Carter 1700

Sasa tunataka kuona wengi wa "Bush" au "Adams" wana matokeo ya kusoma zaidi ya 1500 ya uchezaji kuu wa kifungu.

Tunatangaza WHERE kina ya kawaida katika sentensi ya SQL:

SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500

Matokeo:

Customer SUM(OrderPrice)
Bush 2000
Adams 2000