Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kolejność wyników
user123
post 21.08.2010, 15:51:23
Post #1





Grupa: Zarejestrowani
Postów: 231
Pomógł: 2
Dołączył: 2.08.2006
Skąd: Poznań

Ostrzeżenie: (10%)
X----


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?

Ten post edytował user123 21.08.2010, 15:51:44


--------------------
Youtube - Miedzynarodowa wersja: Wyposażenie siłowni
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
thek
post 21.08.2010, 17:35:27
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:51