Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie zapytania z WHERE IN
quality
post
Post #1





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam
Mam takie zapytanie :

SELECT * FROM `jos_content` WHERE id IN ( 7616, 1168, 992, 2047, 41 ) ;

Mysql sortuje mi to automatycznie od najnizszego id.

Jak zrobic zeby rekordy byly w takiej kolejnosci jak podane po kolei w IN ?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie da sie tego od tak zrobic. musisz napisac wlasną regulke na sortowanie:
http://nospor.pl/mysql-faq-n25.html#faq-5


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
quality
post
Post #3





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Hmm to chyba nie rozwiazuje mojego problemu.

No bo niby jak napisac wlasne sortowanie tym sposobem ?
SELECT *, CASE pole
WHEN 2 THEN 1
WHEN 4 THEN 2
WHEN 3 THEN 3
WHEN 1 THEN 4
ELSE NULL
END as sortowanie
FROM tabela
ORDER BY sortowanie

ja nie mam zadnych danych do sortowania jedynie co mam to wartosci id ewentualnie po rozbiciu tablice posortowana
array(0=>7616,1=> 1168,2=> 992,3=> 2047,4=> 41).

Ale nie wiem jak to ugryzc, nei mam pola do ktorego moglbym porownac.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no to wlasnie tym polem jest twoje id. PRzeciez ja tam pisalem ogólnie....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
quality
post
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No faktycznie fajnie poszlo, ciekawa sprawa smile.gif Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
nevt
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


można też prościej, z samą listą, bez CASE:
  1. SELECT *, FIELD(`id`, 7616, 1168, 992, 2047, 41) AS `pos` FROM `jos_content` HAVING `pos` > 0 ORDER BY `pos`;


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
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 Aktualny czas: 22.08.2025 - 10:19