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

SQL में काउंट द्वारा ऑर्डर कैसे करें?

समस्या:

आपने डेटा को समूहों में एकत्रित किया है, लेकिन आप समूहों में तत्वों की संख्या के आधार पर रिकॉर्ड को अवरोही क्रम में क्रमबद्ध करना चाहते हैं।

उदाहरण:

हमारे डेटाबेस में user निम्नलिखित कॉलम में डेटा के साथ:id , first_name , last_name , और country

<थ>प्रथम_नाम
आईडी last_name देश
1 लिसा विलियम्स इंग्लैंड
2 गैरी एंडर्स पोलैंड
3 टॉम विलियम्स पोलैंड
4 माइकल भूरा फ़्रांस
5 सुसान स्मिथ यूएसए
6 ऐनी जोन्स यूएसए
7 एली मिलर पोलैंड

आइए अपने उपयोगकर्ताओं पर एक रिपोर्ट बनाएं। हम परिणामों को country . के आधार पर समूहित करेंगे और प्रत्येक देश के उपयोगकर्ताओं की संख्या गिनें। लेकिन हम उपयोगकर्ताओं की संख्या के आधार पर समूहों को अवरोही क्रम में भी क्रमबद्ध करेंगे। इस तरह, सबसे अधिक उपयोगकर्ताओं वाले देश सबसे ऊपर दिखाई देंगे।

समाधान:

SELECT country,
 COUNT(id) 
FROM user
GROUP BY  country
ORDER BY COUNT(id) DESC ;
<थ>गिनती(आईडी)
देश
पोलैंड 3
USA 2
इंग्लैंड 1
फ़्रांस 1

चर्चा:

चयनित रिकॉर्ड को प्रत्येक समूह में तत्वों की संख्या के आधार पर क्रमबद्ध करने के लिए, आप ORDER BY का उपयोग करते हैं खंड।

पहला कदम GROUP BY . का उपयोग करना है समूह बनाने के लिए खंड (हमारे उदाहरण में, हम country . द्वारा समूहित करते हैं कॉलम)। फिर, ORDER BY क्लॉज में, आप कुल फ़ंक्शन COUNT का उपयोग करते हैं, जो आपकी पसंद के कॉलम में मानों की संख्या की गणना करता है; हमारे उदाहरण में, हम COUNT(id) . के साथ अलग-अलग आईडी गिनते हैं . यह प्रभावी रूप से प्रत्येक समूह में तत्वों की संख्या की गणना करता है। ORDER BY खंड तब उस गणना के अनुसार समूहों को क्रमबद्ध करता है।

हमेशा की तरह, आप ORDER BY . के साथ आरोही या अवरोही दोनों क्रमों का उपयोग कर सकते हैं . यदि आप अवरोही क्रम चाहते हैं (जैसा कि इस उदाहरण में है), तो आप DESC . का उपयोग करें खोजशब्द। आरोही क्रम को किसी कीवर्ड की आवश्यकता नहीं है क्योंकि यह डिफ़ॉल्ट है, लेकिन आप ASC का उपयोग कर सकते हैं कीवर्ड यदि आप स्पष्ट होना चाहते हैं। यह वही उदाहरण है लेकिन आरोही क्रम में क्रमबद्ध परिणामों के साथ:

समाधान:

SELECT country,
 COUNT(id) 
FROM user
GROUP BY  country
ORDER BY COUNT(id);

ये रहा परिणाम:

<थ>गिनती(आईडी)
देश
इंग्लैंड 1
फ़्रांस 1
USA 2
पोलैंड 3

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ब्लॉकचेन:यह क्या है, यह कैसे काम करता है, और बड़े डेटा के लिए इसका क्या अर्थ है

  2. उदाहरण के साथ SQL में Concatenate के बारे में जानें

  3. एसक्यूएल सीटीई के बारे में आपको जो कुछ भी जानना है वह एक ही स्थान पर है

  4. टी-एसक्यूएल में एक स्ट्रिंग के हिस्से को कैसे बदलें

  5. एसक्यूएल परिवर्तन तालिका