एसक्यूएल - क्लॉज होने

HAVING Clause आपको उन शर्तों को निर्दिष्ट करने में सक्षम करता है जो परिणामों में समूह परिणामों को फ़िल्टर करते हैं।

WHERE क्लॉज चयनित कॉलम पर स्थितियां रखता है, जबकि HAVING क्लॉज GROUP BY क्लॉज द्वारा बनाए गए समूहों पर स्थितियां रखता है।

वाक्य - विन्यास

निम्न कोड ब्लॉक किसी क्वेरी में HAVING क्लॉज की स्थिति दिखाता है।

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

HAVING क्लॉज को एक क्वेरी में GROUP BY क्लॉज का पालन करना चाहिए और यदि उपयोग किया जाता है तो ORDER BY क्लॉज से पहले भी होना चाहिए। निम्नलिखित कोड ब्लॉक में HAVING क्लॉज सहित SELECT स्टेटमेंट का सिंटैक्स है -

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

उदाहरण

निम्नलिखित रिकॉर्ड वाले ग्राहक तालिका पर विचार करें।

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

निम्नलिखित एक उदाहरण है, जो समान आयु की गणना के लिए एक रिकॉर्ड प्रदर्शित करेगा जो कि 2 से अधिक या उसके बराबर होगा।

SQL > SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
GROUP BY age
HAVING COUNT(age) >= 2;

यह निम्नलिखित परिणाम का उत्पादन करेगा -

+----+--------+-----+---------+---------+
| ID | NAME   | AGE | ADDRESS | SALARY  |
+----+--------+-----+---------+---------+
|  2 | Khilan |  25 | Delhi   | 1500.00 |
+----+--------+-----+---------+---------+