Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

हमें MySQL SELECT क्वेरी में GROUP BY क्लॉज के बिना गैर-समूह फ़ील्ड वाले समूह फ़ंक्शंस का उपयोग क्यों नहीं करना चाहिए?

<घंटा/>

ऐसा इसलिए है क्योंकि ग्रुप बाय क्लॉज के बिना MySQL द्वारा लौटाया गया आउटपुट गुमराह कर सकता है। हम इसे प्रदर्शित करने के लिए नीचे दी गई 'छात्र' तालिका पर निम्नलिखित उदाहरण दे रहे हैं -

mysql> Select * from Student;
+------+---------+---------+-----------+
| Id   | Name    | Address | Subject   |
+------+---------+---------+-----------+
| 1    | Gaurav  | Delhi   | Computers |
| 2    | Aarav   | Mumbai  | History   |
| 15   | Harshit | Delhi   | Commerce  |
| 20   | Gaurav  | Jaipur  | Computers |
+------+---------+---------+-----------+
4 rows in set (0.00 sec)

mysql> Select count(*), Name from Student;
+----------+--------+
| count(*) | name   |
+----------+--------+
| 4        | Gaurav |
+----------+--------+
1 row in set (0.00 sec)

जैसा कि हम उपरोक्त क्वेरी के परिणाम से देख सकते हैं कि यह समूह फ़ंक्शन COUNT (*) के आउटपुट को तालिका में पंक्तियों की कुल संख्या के रूप में देता है लेकिन 'नाम' फ़ील्ड में मान 'गौरव' भ्रामक है क्योंकि हम किस आधार पर करते हैं , या तो यह कॉलम का पहला मान है या इसे कई बार कॉलम में संग्रहीत किया जाता है, MySQL इसे वापस कर देता है।

अब अगर हम इस क्वेरी को ग्रुप बाय क्लॉज के साथ लिखेंगे तो परिणाम सेट इस प्रकार है -

mysql> Select count(*), name from student GROUP BY id;
+----------+---------+
| count(*) | name    |
+----------+---------+
| 1        | Gaurav  |
| 1        | Aarav   |
| 1        | Harshit |
| 1        | Gaurav  |
+----------+---------+
4 rows in set (0.00 sec)

उपरोक्त परिणाम सेट से यह देखा जा सकता है कि ग्रुप बाय क्लॉज की मदद से हमें एक सार्थक आउटपुट मिला।


  1. जावा में MySQL के साथ चुनिंदा क्वेरी के लिए तैयार कथन का उपयोग कैसे करें?

    इसके लिए आपको executeQuery() का उपयोग करना होगा। वाक्य रचना इस प्रकार है - yourPreparedStatementObject=yourConnectionObject.prepareStatement(yourQueryName);yourresultSetObject=yourPreparedStatement.executeQuery(); डेटाबेस नमूना में एक तालिका बनाएँ। तालिका बनाने की क्वेरी इस प्रकार है - );Query OK,

  1. MySQL में रेगुलर एक्सप्रेशन के साथ क्वेरी का चयन करें

    आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.63 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1573 (StudentCode) मानों (David_903) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित है ( 0.14 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करे

  1. MySQL में एक चयन क्वेरी के साथ सम्मिलित करें

    सेलेक्ट क्वेरी के साथ इन्सर्ट के लिए, सिंटैक्स इस प्रकार है - insert into yourTableName(yourColumnName1,yourColumnName2,yourColumnName3,...N) select yourValue1,yourValue2,yourValue3,......N; आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1603    -> (    -> Studen