Diskuze: SQL dotaz - nejbližší vyšší stejná nebo nižší hodnota
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Napadá mě, seřadit si výsledky podle toho, jak jsou daleko od zadané hodnoty a vybrat jeden.
SELECT value FROM table ORDER BY ABS(value-:hodnota) LIMIT 1
Taková query ale samozřejmě nebude moct použít případný index na
value
.
Nevím, jestli to jde vcucnout do jednoho dotazu, ale nejbližší vyšší nebo stejné bych asi hledal nějak takto:
SELECT neco FROM tabulka WHERE (neco >= moje zadaná hodnota) ASC
a nižší nebo stejné:
SELECT neco FROM tabulka WHERE (neco <= moje zadaná hodnota) DESC
Vždycky první záznam z toho dotazu je to co hledáš
Zobrazeno 3 zpráv z 3.