Du skal have et rækkesæt, der indeholder alle mulige værdier af dine færdigheder.
MySQL
mangler en måde at gøre det på, så du bliver nødt til at generere det på en eller anden måde.
Hvis du har et sådant resultatsæt, skal du bare udsende:
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
Da du nævnte, at du har dine færdigheder i en separat tabel, så brug denne tabel:
SELECT skill, COUNT(*)
FROM skills s
JOIN users u
ON find_in_set(s.skill, u.sets)
GROUP BY
s.skill
Dette vil dog aldrig matche tastefejlene, de vil bare blive sprunget over.