SQL HAVING 语句

HAVING ਵਾਕਫ਼ਾ

ਸਾਇਟ ਵਿੱਚ HAVING ਵਾਕਫ਼ਾ ਜੋੜਣ ਦਾ ਕਾਰਨ ਇਹ ਹੈ ਕਿ 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 ਤੋਂ ਜ਼ਿਆਦਾ ਆਰਡਰ ਮੁੱਲ ਹੋਣ ਦੀ ਖੋਜ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹਾਂ。

ਅਸੀਂ SQL ਵਿੱਚ ਇੱਕ ਆਮ WHERE ਵਾਕਫ਼ਾ ਜੋੜੀਏ:

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