Parce que la table n'est pas normalisée, vous devrez aplatir d'abord:
SELECT a.column, a.tag1 AS tag
FROM TABLE a
UNION ALL
SELECT b.column, b.tag2
FROM TABLE b
UNION ALL
SELECT c.column, c.tag3
FROM TABLE c
UNION ALL
SELECT d.column, d.tag4
FROM TABLE d
UNION ALL
SELECT e.column, e.tag5
FROM TABLE e
... avant de pouvoir les compter:
SELECT t.tag, COUNT(*) tag_popularity
FROM (SELECT a.column, a.tag1 AS tag
FROM TABLE a
UNION ALL
SELECT b.column, b.tag2
FROM TABLE b
UNION ALL
SELECT c.column, c.tag3
FROM TABLE c
UNION ALL
SELECT d.column, d.tag4
FROM TABLE d
UNION ALL
SELECT e.column, e.tag5
FROM TABLE e) x
GROUP BY x.tag
ORDER BY tag_popularity DESC
wow ... je n » Je pense que ce serait si compliqué. content je l'ai demandé! – doug
Est-ce que union change réellement quelque chose dans ma base de données? – doug
mmm il n'y a pas TABLEAU TABLEAU b TABLE c TABLE d TABLE e, ou suis-je incapable de comprendre ce qui se passe ici – doug