Musisz mieć zestaw wierszy zawierający wszystkie możliwe wartości twoich umiejętności.
MySQL
nie ma na to sposobu, więc będziesz musiał to jakoś wygenerować.
Jeśli masz taki zestaw wyników, po prostu wydaj:
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
Ponieważ wspomniałeś, że masz swoje umiejętności w osobnej tabeli, użyj tej tabeli:
SELECT skill, COUNT(*)
FROM skills s
JOIN users u
ON find_in_set(s.skill, u.sets)
GROUP BY
s.skill
To jednak nigdy nie pasuje do literówek, zostaną po prostu pominięte.