Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Podwójne ORDER BY
rangoo
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 5
Dołączył: 15.01.2010
Skąd: Skawina k. Krakowa

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


Witam.

W jaki sposób mogę zrobić podwójne ORDER BY? (najpierw sprawdza pierwsze pole, a potem jak są równe to drugie)

Np.
id | pole1 | pole2
----------------------
1 | 1 | 1
2 | 1 | 2
3 | 0 | 2
4 | 0 | 1
5 | 0 | 3
6 | 1 | 3

uporządkuje na:
id | pole1 | pole2
----------------------
6 | 1 | 3
5 | 0 | 3
2 | 1 | 2
3 | 0 | 2
1 | 1 | 1
4 | 0 | 1

Z góry dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
wiiir
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

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


  1. .... ORDER BY pole1 , pole2


dodaj jeszcze "desc" bo widze ze chcesz malejaco

Ten post edytował wiiir 28.03.2011, 18:11:07
Go to the top of the page
+Quote Post
modern-web
post
Post #3





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


Lub jeśli chcesz posortować go wg pola 1 i pola 2 ale z polem 1 uwzględnić malejąco/rosnąco to może warto spróbować także tak:

  1. ... ORDER BY pole1 DESC, pole2 ...


Pzdr.
Go to the top of the page
+Quote Post
-irek1-
post
Post #4





Goście







Witam, chciałem zapytać o trochę bardziej skomplikowaną sytuację, ale powiązaną z tym tematem.

Mam takie zapytanie:

SELECT * FROM adverts WHERE status = 1 GROUP BY(id_position) ORDER BY id_position, RAND() LIMIT 5

Zapytanie wyświetla 5 reklam w posortowanej kolejności. I chciałem jeszcze żeby gdy reklama ma te same ID_position wybierał losowo ale tylko dla konkretnego id_position.
Próbowałem z tym : " ORDER BY id_position, RAND() " - ale zawsze te same zwraca.

Czy ktoś pomoże?
Go to the top of the page
+Quote Post

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: 23.08.2025 - 05:29