Hallo,
ich habe folgendes Problem: In einer Tabelle meiner Datenbank befindet sich eine Spalte, die mit float-Werten gefüllt ist. Jetzt möchte ich den Datensatz finden, der am Nächsten an einem bestimmten Wert liegt.
Also zum Beispiel:
Werte 1; 2; 3,3; 4,8; 6; 8,1532; 11,2; 13; (...)
und ich suche "den Wert, der am Nächsten an 10 liegt". MySQL soll dann natürlich den Datensatz mit 11,2 ausgeben. Und wenn ich nach 5 suche, dann den mit 4,8 und wenn ich nach 6 suche, dann den mit 6 und so weiter.
Ich hoffe nun, dass es eine Abfragemöglichkeit gibt dies zu erreichen.
Falls nicht müsste ich dann in php unangenehm verschachteln:
Suche Wert=10
wenn kein Ergebnis suche Wert >9,9 UND <10,1
wenn kein Ergebnis suche Wert >9,7 UND <10,3
wenn kein Ergebnis suche Wert >9,3 UND <10,7
wenn kein Ergebnis suche Wert >9 UND <11
wenn kein Ergebnis suche Wert >8,5 UND <11,5
(...)
kann man ja als Schleife gestalten (hier mit wachsender Ungenauigkeit), aber das wären gegebenenfalls eine Menge Abfragen, die ich vermeiden möchte, wenn ich kann.