Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] indeks poprzedni i następny
Forum PHP.pl > Forum > Bazy danych > MySQL
BzikOS
Czy da się, a jeśli tak to w jaki sposób, wyciągnąć sąsiadujące ID'y w stosunku do podanego. Czyli mając w bazie np. 1, 5, 6, 10, 24 chcę wyciągnąć te sąsiednie od np. 6, a więc 5 i 10.

W tej chwili mam to na dwóch zapytaniach, da się to załatwić jednym? Spenalzo coś kombinował z UNION, ale nie wyszło :/
DeyV
z UNION to jest proste.
Ale takie zapytanie jest naprawdę beznadziejne. I stanowczo mi się nie podoba. Ale jest jedno winksmiley.jpg
[sql:1:205b8ebc5f]SELECT MAX (id )
FROM `add_polisa_grupy_polis` where id < 5
UNION
SELECT MIN( id )
FROM `add_polisa_grupy_polis` where id > 5 [/sql:1:205b8ebc5f]
pobierze id większe i mniejsze od 5


Można też tak
[sql:1:205b8ebc5f](
SELECT id
FROM `add_polisa_grupy_polis`
WHERE id <5
ORDER BY id DESC
LIMIT 1
)
UNION (

SELECT id
FROM `add_polisa_grupy_polis`
WHERE id >5
ORDER BY id
LIMIT 1
)[/sql:1:205b8ebc5f]

Pamiętaj tylko, że UNION is implemented in MySQL 4.0.0.
BzikOS
Cytat
Pamiętaj tylko, że UNION is implemented in MySQL 4.0.0.


Ahh no właśnie w tym sęk (dlatego nie chciały spena unie działać). A jest jakiś sposób bez wykorzystania UNIONów, aby działał na wczęśniejszych wersjach MySQl?
spenalzo
A mi sie wydaje, że za bardzo to sie nie da jednym zapytaniem....
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.