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. Актуализиране на заявката в Yii

  2. Използвайте чувствителен към акцент първичен ключ в MySQL

  3. HTML форма, действаща като get вместо публикация

  4. Проверка на NULL спрямо запис в базата данни -> isset срещу is_null

  5. възможно ли е отдалечен достъп до mysql база данни на споделени хостинги?