यदि आप वास्तव में तालिका से स्तंभों के बजाय समग्र मानों का चयन करते हैं तो आपके परिणाम अधिक स्पष्ट होते हैं:
SELECT SUM(id) FROM plant ORDER BY SUM(id)
यह सभी आईडी का योग वापस कर देगा। यह निश्चित रूप से एक बेकार उदाहरण है क्योंकि एकत्रीकरण हमेशा केवल एक पंक्ति बनाएगा, इसलिए आदेश देने की कोई आवश्यकता नहीं है। आपकी क्वेरी में क्यूथ कॉलम की एक पंक्ति प्राप्त करने का कारण यह है कि MySQL एक पंक्ति को चुनता है, यादृच्छिक पर नहीं बल्कि नियतात्मक भी नहीं। ऐसा ही होता है कि यह आपके मामले में तालिका में पहला कॉलम है, लेकिन दूसरों को स्टोरेज इंजन, प्राथमिक कुंजी आदि के आधार पर एक और पंक्ति मिल सकती है। इस प्रकार केवल ORDER BY क्लॉज में एकत्रीकरण बहुत उपयोगी नहीं है।
आप आमतौर पर जो करना चाहते हैं वह एक निश्चित फ़ील्ड द्वारा समूहीकृत करना है और फिर परिणाम को किसी तरह से सेट करना है:
SELECT fruit, COUNT(*)
FROM plant
GROUP BY fruit
ORDER BY COUNT(*)
अब यह एक और दिलचस्प सवाल है! इससे आपको प्रत्येक फल के लिए एक पंक्ति और उस फल की कुल संख्या मिल जाएगी। कुछ और सेब जोड़ने का प्रयास करें और ऑर्डरिंग वास्तव में समझ में आने लगेगी:
पूरी तालिका:
+----+--------+
| id | fruit |
+----+--------+
| 1 | banana |
| 2 | apple |
| 3 | orange |
| 4 | apple |
| 5 | apple |
| 6 | banana |
+----+--------+
ऊपर की क्वेरी:
+--------+----------+
| fruit | COUNT(*) |
+--------+----------+
| orange | 1 |
| banana | 2 |
| apple | 3 |
+--------+----------+