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

अल्पविराम से अलग किए गए फ़ील्ड के साथ MySQL समूहीकरण

आपके पास अपने कौशल के सभी संभावित मूल्यों वाली एक पंक्ति होनी चाहिए।

MySQL इसे करने का कोई तरीका नहीं है, इसलिए आपको इसे किसी तरह उत्पन्न करना होगा।

यदि आपके पास ऐसा परिणाम सेट है, तो बस जारी करें:

SELECT  skill, COUNT(*)
FROM    (
        SELECT 'Install' AS skill
        UNION ALL
        SELECT 'Configure' AS skill
        UNION ALL
        SELECT 'Setup' AS skill
        UNION ALL
        SELECT 'Blah' AS skill
        ) s
JOIN    users u
ON      find_in_set(s.skill, u.sets)
GROUP BY
        s.skill

चूंकि आपने उल्लेख किया है कि आपके पास एक अलग तालिका में आपके कौशल हैं, उस तालिका का उपयोग करें:

SELECT  skill, COUNT(*)
FROM    skills s
JOIN    users u
ON      find_in_set(s.skill, u.sets)
GROUP BY
        s.skill

हालांकि, यह कभी भी टाइपो से मेल नहीं खाएगा, उन्हें बस छोड़ दिया जाएगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. चेतावनी:mysqli_query() पैरामीटर 1 को mysqli होने की अपेक्षा करता है, संसाधन दिया गया है

  2. SUBSTRING_INDEX अनेक सीमांकक के साथ

  3. लूपिंग के बिना PHP और MySQL के साथ स्कोर तालिका से किसी की 'रैंक' कैसे प्राप्त करें?

  4. MySQL त्रुटि - सिंक से बाहर आदेश; आप अभी यह आदेश नहीं चला सकते हैं

  5. सभी तालिकाओं में से चुनें