Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kolejność wyników
user123
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- user123   kolejność wyników   21.08.2010, 15:51:23
- - thek   Ponieważ baza optymalizuje sobie zapytania, a nie ...   21.08.2010, 17:35:27


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

 



RSS Aktualny czas: 4.10.2025 - 10:41