MySQL: Spalten nach Anzahl der Zellen mit Wert=1 sortieren?
Ich habe eine Tabelle in der die Spalten entweder 0 oder 1 als Wert haben. Jetzt möchte ich gerne die Spalte in der am häufigsten, zweisfäufigsten usw. 1 als Wert vorkommt herausfinden.
Bsp:
Spalte 1 hat die Werte 1,0,0,1,1,0
Spalte 2 hat die Werte 1,1,1,0,1,0
Spalte 3 hat die Werte 0,1,1,0,0,0
Als Ergebnis soll irgendwie herauskommen das Spalte 2 am meisten hat, Spalte 1 am zweitmeisen usw.
Das Problem ist, das ich die Namen der Spalten nicht kenne. Sonst könnte man ja jede Einzelne Spalte mit count(`Spalte`) WHERE `Spalte`=1 auslesen und diese Werte dann vergleichen.
Wahrscheinlich geht es auch gar nicht. Aber ich dachte ich frage mal.
MfG,
Bohne47
1 Antwort
Nur in SQL wüsste ich wie. Wenn du da irgendeine Programmiersprache hast, würde ich die Spaltennamen aus INFORMATION_SCHEMA.COLUMNS abfragen (Position steht da auch drin), die per Programm in SELECT sum(sapltenname1),sum(spaltenname2),... umbauen und dann per Programm den höchsten Wert für das eigentliche Select / ORDER BY auswählen.