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;

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;

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;

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.