Hallo,
SELECT * FROM myTable WHERE Value < 23 ORDER BY Value LIMIT 1;
Aber das ist doch nicht eindeutig, oder? SQL könnte dann doch auch den Datensatz 0 mit Value 10 zurückliefern?
Doch, denn:
- Mit der Where-Klausel hast du das Ergebnis auf Zeilen mit Value < 23 begrenzt
- Das weitere Ergebnis mit der Order-By-Klausel nach einem sinkenden Value-Wert (drum musst du ORDER BY Value DESC) schreiben sortiert ....
- Und mit LIMIT 1 auf einen Eintrag limitiert.
So bekommst du EINEN Eintrag von denen, die KLEINER als 23 sind und von denen den GRÖßTEN.
Das wäre doch alles, oder?
werbeklaus