![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 25.03.2010 Skąd: Radom Ostrzeżenie: (10%) ![]() ![]() |
Panowie,
jak moge posortować wyniki pobrane przez zapytanie mysql?
obecnie mam cos takiego, teraz to co otrzymałe chce posortować wg yyy.zzz czyli powinienem jakoś dodać do zapytania SQL
ale już raz to występuje. Wiem, ze jesteście w stanie mi pomóc (IMG:style_emoticons/default/smile.gif) Ten post edytował qweluke 14.04.2010, 22:00:52 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Słowo wyjaśnienia. GROUP BY grupuje rekordy według wartości w danej kolumnie i na określonej grupie rekordów wykonuje zapytanie. My chcemy uzyskać najnowsze wpisy do grafiku dla każdego użytkownika z osobna. Jak się za to zabrać? Przede wszystkim grupujemy rekordy według identyfikatora użytkownika, a to w praktyce oznacza, że zapytanie zostanie wykonane dla każdej grupy rekordów i w poszczególnej grupie rekordów wszystkie rekordy "należą" do danego użytkownika. Niestety pobrany zostanie tylko jeden rekord z każdej grupy, ten pierwszy w kolejności w domyślnym sortowaniu. Jeżeli zatem chcemy wybrać te najnowsze rekordy z grafiku, to musimy najpierw posortować rekordy w odpowiedniej kolejności, czyli malejąco po id_grafiku. Teraz zapytanie:
Teraz dołączmy do tego wszystkie informacje o użytkowniku: Zapytanie takie zwróci wszystkie kolumny z tabeli xxx i wszystkie kolumny z tabeli uzytkownicy, zatem na pewno w wyniku pojawią się dwie kolumny o takiej samej zawartości poszczególnych wierszy (będą to kolumny z identyfikatorami użytkowników z obu tabel). Aby tego uniknąć musielibyśmy określić jakie dokładnie kolumny chcemy pobrać. Pozostaje jeszcze kwestia sortowania. Tak uzyskane wyniki są posortowane według id użytkownika począwszy od najmniejszego do największego. Tę kolejność możemy odwrócić dokładając do GROUP BY słowo DESC: SELECT ... GROUP BY posortowane.id_uzytkownika DESC Możemy również wymusić, aby wyniki były posortowane według id_grafiku. Dopisujemy na końcu ORDER BY posortowane.id_grafiku Ten post edytował mortus 22.04.2010, 21:08:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 15:57 |