MySQL में HAVING with GROUPBY का उपयोग करने के लिए, निम्नलिखित सिंटैक्स है। यहां, हमने HAVING के तहत अधिकतम मूल्य शर्त के लिए चेक प्राप्त करने के लिए एक शर्त निर्धारित की है -
अपने कॉलमनाम के अनुसार अपने टेबलनाम ग्रुप से अपना कॉलमनाम चुनें, जिसमें MAX(yourColumnName) होआइए MySQL में एक टेबल बनाकर एक उदाहरण देखें -
mysql> क्रिएट टेबल व्हेनआफ्टरग्रुपडेमो-> (-> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,-> UserProcess int,-> UserThreadId int->);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (5.74 सेकंड)उदाहरण
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> व्हेयरएफ्टरग्रुपडेमो (यूजरप्रोसेस, यूजर थ्रेडआईड) वैल्यू (1211,3) में डालें; क्वेरी ओके, 1 रो प्रभावित (0.10 सेकंड) माइस्क्ल> व्हेयरएफ्टरग्रुपडेमो (यूजरप्रोसेस, यूजर थ्रेडआईड) वैल्यू (1412,3) में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.39 सेकंड) mysql> व्हेयरएफ्टरग्रुपडेमो (यूजरप्रोसेस, यूजर थ्रेडआईड) मान (1510,4) में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.19 सेकंड) माइस्क्ल> व्हेनएफ्टरग्रुपडेमो (यूजरप्रोसेस, यूजर थ्रेडआईड) वैल्यू (1511,4) में डालें।;क्वेरी ठीक है, 1 पंक्ति प्रभावित हुई (0.31 सेकंड)चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> *व्हेयर आफ्टरग्रुपडेमो से चुनें;आउटपुट
<पूर्व>+-----+-------------+--------------+| उपयोगकर्ता आईडी | उपयोगकर्ता प्रक्रिया | UserThreadId |+-----------+---------------+--------------+| 1 | 1211 | 3 || 2 | 1412 | 3 || 3 | 1510 | 4 || 4 | 1511 | 4 |+--------+----------------+--------------+4 पंक्तियों में सेट (0.00 सेकंड)पूर्व>HAVING और GROUP BY का उपयोग करने और 1510 से कम प्रक्रिया के साथ UserThreaId प्राप्त करने के लिए निम्नलिखित क्वेरी है -
mysql> UserThreadId से UserThreadId का चयन करें WhatAfterGroupDemo GROUP by UserThreadId HAVING MAX(UserProcess) <1510;आउटपुट
<पूर्व>+--------------+| UserThreadId |+--------------+| 3 |+--------------+1 पंक्ति सेट में (0.00 सेकंड)