Sie benötigen ein Rowset, das alle möglichen Werte Ihrer Fähigkeiten enthält.
MySQL
keine Möglichkeit, dies zu tun, also müssen Sie es irgendwie generieren.
Wenn Sie eine solche Ergebnismenge haben, geben Sie einfach Folgendes aus:
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 Sie erwähnt haben, dass Sie Ihre Fähigkeiten in einer separaten Tabelle haben, verwenden Sie diese Tabelle:
SELECT skill, COUNT(*)
FROM skills s
JOIN users u
ON find_in_set(s.skill, u.sets)
GROUP BY
s.skill
Dies wird jedoch niemals mit den Tippfehlern übereinstimmen, sie werden einfach übersprungen.