Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Auswählen der Häufigkeit eines Ergebnisses, das in mehreren Spalten erscheinen könnte (SQL)

Hier ist ein Ansatz:

SELECT name, COUNT(1)
  FROM (           SELECT name_1 AS name FROM mytable
         UNION ALL SELECT name_2 AS name FROM mytable
         UNION ALL SELECT name_3 AS name FROM mytable
         UNION ALL SELECT name_4 AS name FROM mytable
         UNION ALL SELECT name_5 AS name FROM mytable
       ) AS myunion
 GROUP BY name
 ORDER BY COUNT(1) DESC LIMIT 6
;

Wie viele Zeilen enthält die Tabelle?