Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kolejność wyników
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
user123
Witam,

dlaczego przy wywołaniu zapytania:
  1. SELECT * FROM books WHERE ( (id = '183') OR (id = '864') OR (id = '371') OR (id = '998') OR (id = '288') OR (id = '289') OR (id = '36') OR (id = '997') OR (id = '590') OR (id = '966'))


otrzymany wynik nie jest ustawiony w kolejności zapytania o dane id czyli 183,864,371 itd... tylko w nieznany (losowy) mi sposób? Czy wiecie może co należy zrobić aby wynik końcowy był w należytej kolejności?
thek
Ponieważ baza optymalizuje sobie zapytania, a nie masz ustawionego ORDER BY jakie sam sobie życzysz, to silnik ustawia jak jemu wygodniej. Inna sprawa, że Twoje zapytanie można zapisać znacznie krócej:
WHERE id IN(183, 864, 371, 998... i jakie tam chcesz)
A co do ORDER BY to zobacz sobie jak używać ORDER BY FIELD i użyj go smile.gif
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-2024 Invision Power Services, Inc.