kostenloser Webspace werbefrei: lima-city


Maximum einer Spalte auslesen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    n*********s

    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

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    n*********s

    ja, mit der funktion max habe ich es schon probiert und wie du schon sagtest funktioniert es nicht ganz. Gibt es denn keine möglichkeit die strings zu entfernen und nur die nummern zu behalten?
  5. 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.

  6. 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
  7. Autor dieses Themas

    n*********s

    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
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!