Maximum einer Spalte auslesen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
auslese
code
entfernen
format
forum
funktion
funktionieren
http
nummer
packen
re
schleife
spalten
string
tabelle
url
weiss jemand
zahl
zelle
-
Hallo zusammen!
Weiss jemand zufällig wie man aus einer Datenbank die Tabellen ausließt und die größte Zahl ermittelt auch wenn strings in den tabellen vorhanden sind?
bsp tabellen:
tabelle
lalala
1
2
test
4
und dass es dann 4 ausgiebt wobei 4 nicht unbedingt am ende der tabelle stehen muss.
mfg nathanaelus
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dazu gibt es die ref="/tag/funktion">funktion MAX.
http://www.tutorialspoint.com/mysql/mysql-max-function.htm
Wenn du das jedoch auf Spalten mit dem Datentyp VarChar (oder Char, oder irgendeinem anderen Format dass anderes als Zahlen erlaubt) anwendest, führt das meist nicht zum gewünschten Ergebnis.
mfg -
Also wenn du schon Strings und Integer so komisch mischt, würde mir als schnelle Lösung (ohne irgendwie geschaut zu haben ob SQL irgendwas her gib), alle Einträge auslesen, in einer foreach schleife die Zelle casten [(int)] (Strings werden dann 0) und alles wieder in ein neues array packen, und anschließend mit der php Funktion max() den Maximalen wert ausgeben.
-
Es gibt tatsächlich eine Lösung mithilfe von RegularExpressions.
SELECT MAX(columnName) FROM table WHERE columnName REGEXP '^[0-9]+$'
https://groups.google.com/forum/?fromgroups=#!topic/comp.databases.mysql/RL4htdNynhk
Ich hab das ganze selbst nicht getestet, sollte aber eigentlich so funktionieren
mfg -
Es gibt tatsächlich eine Lösung mithilfe von RegularExpressions.
1
SELECT MAX(columnName) FROM table WHERE columnName REGEXP '^[0-9]+$'
https://groups.google.com/forum/?fromgroups=#!topic/comp.databases.mysql/RL4htdNynhk
Ich hab das ganze selbst nicht getestet, sollte aber eigentlich so funktionieren
mfg
Vielen dank, jedoch gibt diese abfrage von mir rein gar nichts aus :(
$result = "SELECT MAX(columnName) FROM table WHERE columnName REGEXP '^[0-9]+$'";
$res = @mysql_query($result);
if($res){
echo $res;
}
Beitrag zuletzt geändert: 6.12.2012 15:41:25 von nathanaelus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage