urutan permintaan mysql dengan beberapa item

99

apakah mungkin untuk memesan dengan beberapa baris?

Saya ingin pengguna saya diurutkan berdasarkan last_activity, tetapi pada saat yang sama, saya ingin pengguna dengan gambar muncul sebelum yang tanpa

Sesuatu seperti ini:

SELECT some_cols
FROM `prefix_users`
WHERE (some conditions)
ORDER BY last_activity, pic_set DESC;
Alexander
sumber
2
Di mana dan bagaimana gambar-gambar itu didefinisikan?
eumiro
2
Tip untuk orang lain. Jika Anda membiarkan ASC / DESC di 'last_activity', urutan default bisa menjadi ASC.
Geekygecko

Jawaban:

141
SELECT some_cols
FROM prefix_users
WHERE (some conditions)
ORDER BY pic_set DESC, last_activity;
ihorko
sumber
15

Sortir menurut gambar dan kemudian menurut aktivitas:

SELECT some_cols
FROM `prefix_users`
WHERE (some conditions)
ORDER BY pic_set, last_activity DESC;
eumiro
sumber
2
saya tidak mengerti, kemana perginya DESC ?? di balik setiap item?
Alexander
2
Iya. Anda mungkin ingin memesan last_activitydari yang terbaru ke terlama. Dan jika Anda menjelaskan bagaimana gambar didefinisikan (untuk apa pic_set), saya dapat memberitahu Anda bagaimana mengurutkan atribut ini juga.
eumiro
5
Alexander, saya yakin Anda dapat melakukan ORDER BY pic_set DESC, last_activity DESCatau ORDER BY pic_set DESC, last_activity ASClebih mengurutkan arah untuk setiap kolom, arah pengurutan default di mysql (dengan konfigurasi default) adalah ASC.
ZurabWeb
0
SELECT id, user_id, video_name
FROM sa_created_videos
ORDER BY LENGTH(id) ASC, LENGTH(user_id) DESC
Pankaj Yadav
sumber