2011-02-02 13 views
71

Czy można zamówić przez wiele rzędów?Kolejność kwerend mysql według wielu pozycji

Chcę moi użytkownicy mają być klasyfikowane według last_activity, ale w tym samym czasie, chcę użytkownicy ze zdjęciami do stawienia się przed tymi bez

coś takiego:

SELECT some_cols 
FROM `prefix_users` 
WHERE (some conditions) 
ORDER BY last_activity, pic_set DESC; 
+2

Gdzie i jak zdefiniowano zdjęcia? – eumiro

+1

Wskazówka dla innych osób. Jeśli zostawisz ASC/DESC na "last_activity", domyślną kolejnością sortowania może być ASC. – Geekygecko

Odpowiedz

107
SELECT some_cols 
FROM prefix_users 
WHERE (some conditions) 
ORDER BY pic_set DESC, last_activity; 
9

Sortuj wg rysunku, a następnie przez aktywność:

SELECT some_cols 
FROM `prefix_users` 
WHERE (some conditions) 
ORDER BY pic_set, last_activity DESC; 
+2

Nie rozumiem, gdzie jest DESC? za każdym przedmiotem? – Alexander

+2

Tak. Prawdopodobnie chcesz zamówić "last_activity" od najnowszego do najstarszego. A jeśli wytłumaczysz, w jaki sposób zdefiniowane są obrazy (co oznacza "zbiór pic_set"), mogę ci również powiedzieć, jak posortować ten atrybut. – eumiro

+3

Alexander, wydaje mi się, że możesz wykonać polecenie "ORDER BY pic_set DESC, last_activity DESC" lub "ORDER BY pic_set DESC, last_activity ASC", więc kierunek sortowania dla każdej kolumny, domyślny kierunek sortowania w mysql (z domyślną konfiguracją) to ASC. – Piero

-1
SELECT id, user_id, video_name 
FROM sa_created_videos 
ORDER BY LENGTH(id) ASC, LENGTH(user_id) DESC 
Powiązane problemy