[PHP+MySql] Probleme bei select-query



  • Hi Leute, also ich möchte bei einer Select-Abfrage nur den die Daten-Zeile haben in der der Wert am nächsten einem von mir bestimmten Wert ist. Also ungefähr so:

    $query = "SELECT * FROM table WHERE wert --ist von allen werten in der tabelle am nächsten-- $mywert;

    Gibts da 'ne Funktion die mir hilft?
    MfG

    Tobsen


  • Mod

    AFAIK gibts da keine MySQL Funktion dafür...

    aber vielleicht hilft dir ja BETWEEN um etwas zu basteln?



  • Vielleicht auch irgendwie mit ORDER BY ABS von Differenz von Spalten-Wert und gesuchtem LIMIT 1 (Pseudo-Code)



  • @shade nee, das bringt mir leider nichts
    @flenders kannst mir den Vorschlag mal ein wenig genauer erläutern (werd da net so ganz schlau draus 🙄 )

    Also es geht in diesem Fall um Daten, die als sekunden-werte im feld date gespeichert sind. Jetzt gibt jemand per formular oder so ein datum ein und schickt es ab. Nun muss ich die beiden Daten finden, die einmal am dichtesten unterhalb des eingegebenen datums liegen und einmal am dichtesten überhalb dem von mir eingegebenen datum liegen.
    MfG

    Tobsen



  • Dann reicht einfach ein

    SELECT date FROM table WHERE date > 20-05-2003 ORDER BY date ASC LIMIT 1
    
    bzw.
    
    SELECT date FROM table WHERE date < 20-05-2003 ORDER BY date DESC LIMIT 1
    

    Oder habe ich dich falsch verstanden? 🙄 😉



  • Nope, hast mich richtig verstanden! Geniale Lösung und doch so einfach! Wieso komm ich nie auf sowas.... 😞
    Thank you flenders!
    MfG

    Tobsen


Anmelden zum Antworten