Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में ग्रुप बाय क्लॉज का उपयोग करके समूह पंक्तियाँ

यह ट्यूटोरियल श्रृंखला का हिस्सा है MySQL का उपयोग करके बेसिक SQL क्वेरीज़ सीखें। इस ट्यूटोरियल में, हम ग्रुप बाय क्लॉज का उपयोग करके MySQL में टेबल पंक्तियों के समूहीकरण को समग्र कार्यों के साथ करने के लिए SQL प्रश्नों पर चर्चा करेंगे। आप समग्र कार्यों को सीखने के लिए MySQL में एग्रीगेट फ़ंक्शंस (SUM, AVG, MAX, MIN, COUNT, DISTINCT) का उपयोग करके भी अनुसरण कर सकते हैं।

क्वेरी द्वारा समूहित करें

समूह द्वारा क्लॉज का उपयोग टेबल पंक्तियों के समूहन को करने के लिए किया जा सकता है। इसका उपयोग रिपोर्ट तैयार करने और सांख्यिकीय डेटा एकत्र करने के लिए समग्र कार्यों के साथ भी किया जा सकता है।

# GROUP BY - Syntax
SELECT column_1, column_2, ..., [<aggregate function> AS <column>] FROM `table_name` GROUP BY column_1, column_2, ...;

क्वेरी स्पष्टीकरण

समूह द्वारा पंक्तियों का सेट बनाने के लिए कॉलम निर्दिष्ट करके पंक्तियों को समूहबद्ध करने के लिए क्लॉज का उपयोग किया जा सकता है।

रिपोर्ट तैयार करने और सांख्यिकीय डेटा एकत्र करने के लिए हम ग्रुप बाय क्लॉज का प्रभावी ढंग से उपयोग करने के लिए समग्र कार्यों का उपयोग कर सकते हैं।

समूहीकरण कई स्तंभों पर लागू किया जा सकता है जहां पहला स्तंभ प्राथमिक समूह बनाएगा और बाद के स्तंभ उप-समूह बनाएंगे।

उदाहरण

यह खंड एकत्रीकरण कार्यों के साथ और बिना ग्रुप बाय क्लॉज का उपयोग करके समूहीकरण करने के लिए उदाहरण प्रदान करता है। उपयोगकर्ता डेटा संग्रहीत करने के लिए आईडी, प्रथम नाम, अंतिम नाम, आयु और सक्रिय कॉलम वाली उपयोगकर्ता तालिका बनाने के लिए नीचे दी गई क्वेरी का उपयोग करें।

# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`age` SMALLINT(6) NOT NULL DEFAULT 0,
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));

उपयोगकर्ता तालिका में परीक्षण डेटा सम्मिलित करने के लिए नीचे दी गई क्वेरी का उपयोग किया जा सकता है।

# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `age`, `active` ) VALUES
( 1, 'John', 'Smith', 18, 1 ),
( 2, 'Rick', 'Jones', 19, 1 ),
( 3, 'John', 'Ponting', 16, 0 ),
( 4, 'Harsh', 'Upadhyay', 20, 1 ),
( 5, 'Tajwinder', 'Singh', 18, 0 );

उपर्युक्त क्वेरी 5 अलग-अलग उपयोगकर्ताओं का प्रतिनिधित्व करने के लिए आईडी, प्रथम नाम, अंतिम नाम और सक्रिय कॉलम वाली तालिका में 5 पंक्तियों को सम्मिलित करेगी।

अब हम पंक्तियों को समूहित करने के लिए कुल कार्यों के बिना ग्रुप बाय क्लॉज का उपयोग करेंगे। यह MySQL में ग्रुप बाय क्लॉज का उपयोग करके किया जा सकता है जैसा कि नीचे दिखाया गया है।

# GROUP BY - Generate the set of active values
SELECT active from user GROUP BY active;

# Result
1
0

# GROUP BY - Generate the set of first name
SELECT first_name from user GROUP BY first_name;

# Result
John
Rick
Harsh
Tajwinder

उपर्युक्त प्रश्नों ने ग्रुप बाय क्लॉज का उपयोग करके पंक्तियों को समूहीकृत करके परिणाम सेट लौटा दिया। अब हम नीचे दिखाए गए अनुसार कुल फ़ंक्शन के साथ पंक्तियों को समूहित करेंगे।

# GROUP BY - Get the maximum age of all users with specific first name
SELECT first_name, MAX(age) AS max_age from user GROUP BY first_name;

# Result
John 18
Rick 19
Harsh 20
Tajwinder 18

# GROUP BY - Get the average age of all users with specific first name
SELECT first_name, AVG(age) AS avg_age from user GROUP BY first_name;

# Result
John 17.0000
Rick 19.0000
Harsh 20.0000
Tajwinder 18.0000

इस प्रकार हम विशिष्ट कॉलम के लिए तालिका की पंक्तियों को समूहबद्ध करने के लिए कुल कार्यों के साथ और बिना ग्रुप बाय क्लॉज का उपयोग कर सकते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL ट्यूटोरियल - मास्टर वैल्यू के पीछे के सेकंड को समझना

  2. क्या MySQL में नेस्टेड लेनदेन की अनुमति है?

  3. Moodle के लिए MySQL की निगरानी के लिए युक्तियाँ

  4. MySQL में एक स्ट्रिंग के हिस्से को कैसे बदलें

  5. MySQL डेटाबेस प्रदर्शन देने के लिए युक्तियाँ - भाग एक