Autor | Zpráva | ||
---|---|---|---|
NetHill Profil |
#1 · Zasláno: 2. 12. 2007, 13:15:01
Ahoj všichni,
mám tabulku v MySQL ze sloupci id, nazev, cislo tzn.: mám tyto řádky: id, nazev, cislo 1, hlava, 50 2, mozek, 60 3, ledvina, 100 a když bude proměnná $cislo = 70; chci vypsat řádek s id 2 jelikož cislo je nejblíže 70, když bude proměnná $cislo = 90; chci vypsat řádek s id 3 jelikož cislo 100 je nejblíže 90, Lépe už to asi nevysvětlím... nevím si s tím rady, mockrát děkuji za informace... No doufám, že to někdo pochopí... |
||
Alphard Profil |
#2 · Zasláno: 2. 12. 2007, 13:23:32
co třeba vybrat 2 řádky pomocí union a v aplikaci zjistit, který je blíž?
select * from tabulka where cislo < $cislo order by cislo desc limit 1 union select * from tabulka where cislo > $cislo order by cislo limit 1 jestli to musí být v sql, tak třeba uložená procedura, nebo počkej so vymyslí kajman_ :-) |
||
Kajman_ Profil * |
#3 · Zasláno: 2. 12. 2007, 14:01:15
order by abs(cislo-$cislo) limit 1
Ale asi bych to udělal až na těch dvou řádcích, co vybírá Alphard, mělo by to být rychlejší. |
||
NetHill Profil |
#4 · Zasláno: 2. 12. 2007, 15:18:08
Alphard
Díky moc, je to přesně to co hledám... že mně tohle řešení nenapadlo :-) |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0