Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Podwojne sortowanie w zapytaniu
kkuubbaa88
post
Post #1





Grupa: Zarejestrowani
Postów: 510
Pomógł: 1
Dołączył: 27.08.2007

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


witam

mam przykladowa tabele:

id | imie | nazwisko | lata | kategoria | data_dodania
1 | Marek | Kowalski | 13 | 1 | 345235434
2 | Julia | Nowak | 23 | 3 | 464564345
3 | Tomek | Kurek | 34 | 2 | 565675645
4 | Marta | Domek | 22 | 5 | 45675756
5 | Elzbieta | Oleksy | 43 | 1 | 6454554

teraz chciałbym posortować wszystko względem 'data_dodania' z jednym warunkiem:

wszystkie wiersze z kategoria > 3 to jedna podkategoria, która powinna być posortowana od największego do najmniejszego oraz
wszystkie wiersze z kategoria < 4 to druga podkategoria, która powinna być posortowana od największego do najmniejszego.

czy da radę zrobić coś takiego w 1 zapytaniu ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Wykrywacz
post
Post #2





Grupa: Zarejestrowani
Postów: 726
Pomógł: 20
Dołączył: 8.12.2005
Skąd: Wrocław

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


hmm Może i jakiś sposób jest,
ale ja bym to rozbił na dwa zapytania łącząc je union all z warunkami na to co chcesz i sortowaniem już w każdym też jak chcesz (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
kkuubbaa88
post
Post #3





Grupa: Zarejestrowani
Postów: 510
Pomógł: 1
Dołączył: 27.08.2007

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


w sumie tak tez można (IMG:style_emoticons/default/smile.gif) mam nadzieje, ze nie strace zbytnio na wydajnosci (IMG:style_emoticons/default/smile.gif)

mam jeszcze pytanie... jezeli podczas zlaczania poprzez union bede chcial w sumie wyswietlic 15 wierszy to jak to zrobic ? gdy dam w pierwszym zapytaniu limit i drugim to w sumie bede mial 30 wierszy. Potrzebuje tego, poniewaz jest to wszystko podlaczone z stronnicowaniem.

Ten post edytował kkuubbaa88 17.06.2010, 09:37:13
Go to the top of the page
+Quote Post
Wave
post
Post #4





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

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


  1. (SELECT a FROM t1 WHERE a=10 AND B=1)
  2. UNION
  3. (SELECT a FROM t2 WHERE a=11 AND B=2)
  4. ORDER BY a LIMIT 10;
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: 20.09.2025 - 14:13