Witam.
Mam tabele w której mam trzy kolumny. Jak wczytać dane z pierwszej kolumny i posortować je najpierw według drugiej kolumny a później według trzeciej kolumny?
Pozdrawiam
Witam.
Mam tabele w której mam trzy kolumny. Jak wczytać dane z pierwszej kolumny i posortować je najpierw według drugiej kolumny a później według trzeciej kolumny?
Pozdrawiam
select a from tabela order by b, c
o to Ci chodziło?
tak.. tylko ze jak tak pisze to zwraca wartości nieposortowane tylko po kolei jak leci w tabeli..
Zwraca wartości nieposortowane, bo sortowanie odbywa się w innej kolumnie, więc jakbyś zrobił tak
select B, C, A from tabela order by B, C
to zauważysz że kolumna B jest posortowana, jeśli wystąpią w niej take same wartości to odpowiadające im wartości w kolumnie C też będą posortowane a kolumna A będzie tak ustawiona, żeby tylko rzędy się zgadzały. Jak chcesz mieć posortowaną kolumnę A to daj
... order by A
Niezbyt rozumiem jaki chcesz wynik zayptania mieć
W jednej kolumnie(A) mam ID artykułu, w drugiej(B) mam średnią ocenę artykułu a w trzeciej(C) mam ilość ocen artykułu. Chce uzyskać ID artykułów o najwyższej średniej (a jeżeli średnia jest taka sama w kilku przypadkach to z największą liczbą ocen).
Czy można to zrobić za pomocą jednego zapytania?
10 artykułów z najwyższą średnią i liczbą ocen:
select
id
from
tabela
order by
srednia desc,
liczba_ocen desc
limit
10
Dzięki bardzo!!