PHP - Maximaler wert aus Datenbank auslesen
Hallo Zusammen
Habe wieder einmal ein Problem mit mysql & php.
Ich habe eine mysql Datenbank mit verschiedenen spalten (Test, Name, Stadt, Anzahl). Ich möchte nun die Zeile auslesen, bei welcher der Wert in der Spalte "Anzahl" am höchsten ist (z.B 71).
Habe das ganze mit MAX(Anzahl) probiert und das funzt nicht, auch das sortieren nach der spalte "Anzahl" und danach die ausgabe der höchste Zahl klappt nicht (bekomme jeweils immer die Zeile mit der "Anzahl" 9).
Kann mir jemand helfen?
Danke!
Habe wieder einmal ein Problem mit mysql & php.
Ich habe eine mysql Datenbank mit verschiedenen spalten (Test, Name, Stadt, Anzahl). Ich möchte nun die Zeile auslesen, bei welcher der Wert in der Spalte "Anzahl" am höchsten ist (z.B 71).
Habe das ganze mit MAX(Anzahl) probiert und das funzt nicht, auch das sortieren nach der spalte "Anzahl" und danach die ausgabe der höchste Zahl klappt nicht (bekomme jeweils immer die Zeile mit der "Anzahl" 9).
Kann mir jemand helfen?
Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 77274
Url: https://administrator.de/forum/php-maximaler-wert-aus-datenbank-auslesen-77274.html
Ausgedruckt am: 13.04.2025 um 21:04 Uhr
6 Kommentare
Neuester Kommentar
Moin samsx87,
das Statement könnte z.B. so aussehen:
-oder, wenn Du nur den MaxWert selbst brauchst-
Grüße
Biber
das Statement könnte z.B. so aussehen:
Select Test, Name, Stadt, Anzahl From SamsTabelle
Where Anzahl=Select Max(x.Anzahl) from SamsTabelle x
select * from SamsTabelle order by anzahl desc LIMIT 1
-oder, wenn Du nur den MaxWert selbst brauchst-
select anzahl from SamsTabelle order by anzahl desc LIMIT 1
Select Max(Anzahl) from SamsTabelle
Grüße
Biber
Moin Dani,
das würde in der Tat erklären, warum der Datensatz mit der "Anzahl" 9 zurückkommt. *g
Falls also ein ### das Feld "Anzahl" als Varchar oder so etwas angelegt haben sollte, dann muss entsprechend geCASTed werden. Beispiel:
Aber das wollen wir Samsx87 ja nicht unterstellen....
Ach, eine Anmerkung noch zu meinen beiden Statements aus dem Vor-Kommentar.
Bei der Abfrage über ..MAX().. können natürlich auch mehrere Datensätze im Resultset sein.
Bei "...LIMIT 1" kommt immer nur einer. Beides kann gewollt sein bzw. gebraucht werden --> entsprechend eine Variante wählen.
Grüße
Biber
das würde in der Tat erklären, warum der Datensatz mit der "Anzahl" 9 zurückkommt. *g
Falls also ein ### das Feld "Anzahl" als Varchar oder so etwas angelegt haben sollte, dann muss entsprechend geCASTed werden. Beispiel:
select * from SamsTabelle order by CAST(anzahl AS UNSIGNED) desc LIMIT 1
Ach, eine Anmerkung noch zu meinen beiden Statements aus dem Vor-Kommentar.
Bei der Abfrage über ..MAX().. können natürlich auch mehrere Datensätze im Resultset sein.
Bei "...LIMIT 1" kommt immer nur einer. Beides kann gewollt sein bzw. gebraucht werden --> entsprechend eine Variante wählen.
Grüße
Biber
Moin Biber,
macht hier ein CASTing schon Sinn? Denn die Anzahl kann eigentlich nur eine Zahl sein, oder? Somit wäre es doch sinnvoller, den Typ der Spalte zu ändern als immer ein SELECT (sieh dein Beispiel) auszuführen...macht das Statment zwar nicht dick, aber die Fehlermöglichkeiten werden verkleinert bzw.
Ich verfolge das Ziel: Das Statment so kurz und einfach wie möglich zu haben aber das Ziel 100%ig zu erreichen. Damit ich auch in 10 Jahren noch weiß, was da passiert.
Grüße
Dani
macht hier ein CASTing schon Sinn? Denn die Anzahl kann eigentlich nur eine Zahl sein, oder? Somit wäre es doch sinnvoller, den Typ der Spalte zu ändern als immer ein SELECT (sieh dein Beispiel) auszuführen...macht das Statment zwar nicht dick, aber die Fehlermöglichkeiten werden verkleinert bzw.
Ich verfolge das Ziel: Das Statment so kurz und einfach wie möglich zu haben aber das Ziel 100%ig zu erreichen. Damit ich auch in 10 Jahren noch weiß, was da passiert.
Grüße
Dani
Hi,
na gut...weil heute Wochenende ist und ich gut drauf bin.
Hier findest du alle Datentypen, die es unter MySQL gibt + Erklärung. Suchbegriff war bei Google "mysql typen"
Schönes Wochenende
Dani
na gut...weil heute Wochenende ist und ich gut drauf bin.
Hier findest du alle Datentypen, die es unter MySQL gibt + Erklärung. Suchbegriff war bei Google "mysql typen"
Schönes Wochenende
Dani