Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Podwójne sortowanie
roobik
post 20.09.2011, 22:45:09
Post #1





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Witam!
Mam "mały" problem z napisaniem poprawnego zapytania.
Nie wiem, na ile jest możliwe takie zapytanie, bo chcę wyświetlić trzy ostatnie rekordy, ale wg popularności
pola w tabeli:
id,tytul,tekst,data,opened
Mam narazie takie zapytanie:
  1. $zapn = "SELECT * FROM tab ORDER BY id DESC LIMIT 3";

ale nie uwzglednia to liczby w polach opened.
Pomóżcie proszę...
Go to the top of the page
+Quote Post
peter13135
post 20.09.2011, 23:05:57
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


opened ? open to nie jest czasownik regularny wink.gif

Co to znaczy nie uwzględnia ? A jak ma uwzględniać ?


--------------------
:)
Go to the top of the page
+Quote Post
roobik
post 20.09.2011, 23:13:26
Post #3





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Cytat(peter13135)
Co to znaczy nie uwzględnia ? A jak ma uwzględniać ?

Załóżmy, że trzy ostatnie rekordy wyglądają tak:
Tytuł pierwszy [23]
Tytuł drugi [17]
Tytuł trzeci [44]
//w kwadratowych nawiasach jest ilość odsłon, czyliu to nasze opened.
Wg mojego zamysłu jest, by uzyskać (na podst powyższego):
Tytuł trzeci [44]
Tytuł pierwszy [23]
Tytuł drugi [17]
Czyli inaczej mówiąc, te trzy ostatnie rekordy są "poukładane" wg ilości kliknięć/odsłon


Go to the top of the page
+Quote Post
melkorm
post 20.09.2011, 23:15:31
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


to posortuj po polu `opened` ?


--------------------
Go to the top of the page
+Quote Post
roobik
post 20.09.2011, 23:20:01
Post #5





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Próbowałem tak
  1. $zapn = "SELECT * FROM tab ORDER BY opened DESC LIMIT 3";

ale wyświetlane są PIERWSZE trzy rekordy z bazy, a mają być trzy OSTATNIE sad.gif

Ten post edytował roobik 20.09.2011, 23:28:19
Go to the top of the page
+Quote Post
melkorm
post 21.09.2011, 01:40:48
Post #6





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


no to zmień typ sortowania na rosnąco?

Ten post edytował melkorm 21.09.2011, 01:41:01


--------------------
Go to the top of the page
+Quote Post
roobik
post 21.09.2011, 12:26:38
Post #7





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Cytat(melkorm)
no to zmień typ sortowania na rosnąco?

Zmienia to jednak pierwotne założenie.
Czy domyślam się, że nie ma takiej możliwości?
Go to the top of the page
+Quote Post
nospor
post 21.09.2011, 12:32:41
Post #8





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




  1. SELECT * FROM (SELECT * FROM tab ORDER BY id DESC LIMIT 3) podsel ORDER BY podsel.opened DESC


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

"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
jacobson
post 21.09.2011, 12:33:40
Post #9





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


Cytat(peter13135 @ 21.09.2011, 00:05:57 ) *
opened ? open to nie jest czasownik regularny wink.gif


http://www.angielski.edu.pl/zagadnienia_gr...opened_322.html

//sorry za offtop smile.gif
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: 19.07.2025 - 04:11