Bojakki
2.04.2011, 12:02:51
Mam tabele
id
1
2
4
6
9
i zapytanie:
}
Co zrobi by wyswietlic te id w odwrotnej kolejnosci, czyli zamiast
4
9
było
9
4
zmiana order by na DESC odpada bo wtdy wezmie mi id 6 i 9, a ja chce 2 kolejne wyzsze od 2
webdice
2.04.2011, 12:17:04
Chcesz posortować dwie wyrwane z kontekstu liczby w odwrotnej kolejności?
Bojakki
2.04.2011, 12:21:32
Moim celem jest wybranie 2 kolejnych po cyfrze "2" liczb z tabeli, w tym przypadku sa to 4 i 6. Z tym, ze chce je wyswietlic w kolejnosci, najpierw 6, potem 4.
Fifi209
2.04.2011, 12:23:27
Nijak 4 i 9 to kolejne dwie liczby po 2.
Jeżeli nie umiesz po stronie mysql zrób po stronie php np.
array_reverse
Bojakki
2.04.2011, 12:31:26
Przeciez nie napisałem nigdzie, ze po 2 kolejne to 4 i 9.
Jezeli byłoby to mozliwe wolałbym mieć kolejnosc od największej do najmniejszej zrobiona jeszcze w sqlu
webdice
2.04.2011, 12:40:27
Masz w bazie takie rekordy:
Kod
1 2 4 6 9
i chcesz uzyskać:
Kod
1 2 9 6 4
Jeśli tak to zapomnij.
Bojakki
2.04.2011, 12:44:48
Nie, chce uzyskac tylko 2 kolejne cyfry po cyfrze 2 (4 i 6 - co mi sie udało), z tym, ze uszeregowane od najwiekszej do najmniejszej
webdice
2.04.2011, 12:59:32
SELECT `id` FROM `table` WHERE `id` IN( SELECT * FROM `table` WHERE `id` > 2 LIMIT 2 ) ORDER BY `id` DESC
Z tym że nie wszystkie wersje MySQL obsługują LIMIT w podzapytaniu. Kolejną sprawą jest wydajność takiego zapytania. Jak wcześniej wspomniał ~fifi209
array_reverse powinno być szybsze.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.