PHP | Häufigsten Eintrag ausgeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
aggregation
anzahl
auslese
befehl
bit
code
dank
frage
gekommen code
hilfe
kleiner dreher
kleiner fehler
limit
obengenannten code
ordern
schlauch
tabelle
wert order
wissen
-
Hallo zusammen,
brauche im moment nen Schnipsel für das Auslesen des häufigsten Wertes aus einer Tabellenspalte.
Bin mittlerweile soweit gekommen:
$sql = "SELECT q_s".$bit.", count(q_s".$bit.") AS anzahl FROM gv_schueler_data GROUP BY q_s".$bit." ORDER BY anzahl DESC LIMIT 1";
also allgemein um es etwas übersichtlicher zu machen:
$sql = "SELECT wert, count(wert) AS anzahl FROM tabelle GROUP BY wert ORDER BY anzahl DESC LIMIT 1";
Das funktioniert nun auch wunderbar ....
zunächst wüsste ich allerdings gerne ob es dafür eine elegantere Lösung gibt ...
und noch viel wichtiger eigentlich wie ich es jetzt noch hinbekomme auch den häufigst genannten Wert auszugeben ... denn mit meinem Code oben komme ich ja nur an die Anzahl des häufigst genannten Wertes ran ... nicht aber an den Wert selbst.
Vielleicht steh ich grad einfach nur dermaßen auf dem Schlauch .. aber ich komme echt nicht weiter.
Vielen Dank für die Hilfe schonmal.
Gruß -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das ist bereits die optimale Lösung. Für solche Fälle ist die GROUP BY Aggregation ideal :P
-
mh okay danke schonmal ... das ist ja dann schonmal ganz gut
.... aber wie komme ich jetzt an meinen wert ? ^^ Oder muss ich dafür auf jeden fall ne weitere Abfrage machen ?
Gruß -
Wie jetzt? Den Wert musst du doch nur auslesen, oder versteh ich dich nicht?
-
Mh wie gesagt .. eventuell steh ich auch einfach nur total auf dem Schlauch ...
aber meine Frage bezieht sich auf folgendes:
Wenn ich obengenannten Code benutze bekomme ich z.b. mit $row['anzahl'] die Anzahl dies häufigst genannten Wertes ausgegeben. Ich würde aber gerne noch wissen welches dieser häufigst genannte Wert ist und ich bekomme es einfach nicht hin diesen ebenfalls auszugeben.
Meine Frage war also : ob ich dafür eine weitere Abfrage machen müsste oder ob es irgendwie möglich ist den auch noch aus dem selben SQL Befehl heraus zuholen ^^
Gruß -
Mh wie gesagt .. eventuell steh ich auch einfach nur total auf dem Schlauch ...
aber meine Frage bezieht sich auf folgendes:
Wenn ich obengenannten Code benutze bekomme ich z.b. mit $row['anzahl'] die Anzahl dies häufigst genannten Wertes ausgegeben. Ich würde aber gerne noch wissen welches dieser häufigst genannte Wert ist und ich bekomme es einfach nicht hin diesen ebenfalls auszugeben.
Meine Frage war also : ob ich dafür eine weitere Abfrage machen müsste oder ob es irgendwie möglich ist den auch noch aus dem selben SQL Befehl heraus zuholen ^^
Gruß
$row['wert']? -
Das dachte ich zuerst auch ... allerdings scheint das nicht richtig zusein,
denn ich bekomme immer 0 ausgegeben obwohl der Wert in der Tabelle ( der einzige der momentan überhaupt vorhanden ist um die Übersichtigkeit etwas zu bewaren ) 10 ist ..... :/
_________________________________________________________________________________________
EDIT:
Tut mir leid ... das mit der 0 und der 10 war ein kleiner Fehler in meinem Code.
Ich hab das ganze ja mit Variablen gemacht, weil ich diesen Ablauf mehrfach brauche und da hatte sich ein kleiner Dreher eingeschlichen.
Danke für eure Hilfe.
Gruß
Beitrag geändert: 13.11.2007 17:06:29 von xsnifferdogx -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage