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

MySQL और CASE जब मूल्यों की एक श्रृंखला के साथ

इसे आजमाएं:

SELECT count(*) as ct, 
CASE  
    WHEN COUNT(*) < 25 THEN '1-25' 
    WHEN COUNT(*) >= 25 < 50 THEN '25-50' 
    WHEN COUNT(*) >= 50 < 100 THEN '50-100' 
    WHEN COUNT(*) >= 100 < 250 THEN '100-250' 
    WHEN COUNT(*) >= 250 < 500 THEN '250-500' 
    WHEN COUNT(*) >= 500 < 1000 THEN '500-1000' 
    ELSE '1000+' 
END AS grp 
FROM records r, accounts a 
WHERE r.account_id=a.id 
GROUP BY r.account_id, a.id, 
    CASE  
    WHEN COUNT(*) < 25 THEN '1-25' 
    WHEN COUNT(*) >= 25 < 50 THEN '25-50' 
    WHEN COUNT(*) >= 50 < 100 THEN '50-100' 
    WHEN COUNT(*) >= 100 < 250 THEN '100-250' 
    WHEN COUNT(*) >= 250 < 500 THEN '250-500' 
    WHEN COUNT(*) >= 500 < 1000 THEN '500-1000' 
    ELSE '1000+' END
ORDER BY count(*)

आपको उस "बकेट" को "परिभाषित" करना होगा जिसमें आप मूल डेटा पंक्तियों को एकत्रित करना चाहते हैं... यह वही है जो ग्रुप बाय क्लॉज के लिए है... यह उन मानदंडों को परिभाषित करता है जिनके द्वारा बेस टेबल में प्रत्येक पंक्ति का विश्लेषण किया जाएगा। निर्धारित करें कि यह किस "बाल्टी" का डेटा है... समूह द्वारा समूह में परिभाषित अभिव्यक्ति या अभिव्यक्ति उन बाल्टी के लिए "परिभाषाएं" हैं।

चूंकि क्वेरी मूल डेटा पंक्तियों को संसाधित करती है, कोई भी पंक्ति जिसके लिए इस अभिव्यक्ति (ओं) का मान मौजूदा बकेट के समान है, उस बकेट में एकत्रित किया जाता है ... कोई भी नई पंक्ति जिसका मान किसी मौजूदा द्वारा दर्शाया नहीं जाता है बकेट एक नई बकेट बनाने का कारण बनता है...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubuntu 9.10 (कर्मिक) पर phpMyAdmin के साथ MySQL प्रबंधित करें

  2. WAMP पर mysql डेटाबेस डायरेक्टरी कैसे बदलें

  3. क्या किसी को इस PHP त्रुटि संदेश के पीछे का अर्थ पता है?

  4. चयन के साथ सम्मिलित करें

  5. django.core.exceptions.ImproperlyConfigured:MySQLdb मॉड्यूल लोड करने में त्रुटि:MySQLdb नामक कोई मॉड्यूल नहीं