kolejność zapytań mysql według wielu elementów

99

czy można zamawiać w wielu rzędach?

Chcę, aby moi użytkownicy byli sortowani według last_activity, ale jednocześnie chcę, aby użytkownicy ze zdjęciami pojawiali się przed tymi bez

Coś takiego:

SELECT some_cols
FROM `prefix_users`
WHERE (some conditions)
ORDER BY last_activity, pic_set DESC;
Alexander
źródło
2
Gdzie i jak definiowane są zdjęcia?
eumiro
2
Wskazówka dla innych osób. Jeśli zostawisz ASC / DESC na „last_activity”, domyślną kolejnością sortowania może być ASC.
Geekygecko

Odpowiedzi:

141
SELECT some_cols
FROM prefix_users
WHERE (some conditions)
ORDER BY pic_set DESC, last_activity;
ihorko
źródło
15

Sortuj według obrazu, a następnie według czynności:

SELECT some_cols
FROM `prefix_users`
WHERE (some conditions)
ORDER BY pic_set, last_activity DESC;
eumiro
źródło
2
nie rozumiem, dokąd zmierza DESC? za każdym przedmiotem?
Alexander
2
Tak. Prawdopodobnie chcesz zamówić last_activityod najnowszego do najstarszego. A jeśli wyjaśnisz, jak definiowane są obrazy (co pic_setoznacza), mógłbym ci powiedzieć, jak posortować również ten atrybut.
eumiro
5
Alexander, myślę, że możesz zrobić ORDER BY pic_set DESC, last_activity DESClub ORDER BY pic_set DESC, last_activity ASCtak sortować kierunek dla każdej kolumny, domyślny kierunek sortowania w mysql (z domyślną konfiguracją) to ASC.
ZurabWeb
0
SELECT id, user_id, video_name
FROM sa_created_videos
ORDER BY LENGTH(id) ASC, LENGTH(user_id) DESC
Pankaj Yadav
źródło