birden çok öğeye göre mysql sorgu sırası


99

birden fazla sıra ile sipariş vermek mümkün mü?

Kullanıcılarımın last_activity'ye göre sıralanmasını istiyorum, ancak aynı zamanda resimleri olan kullanıcıların, resimsiz olanlardan önce görünmesini istiyorum.

Bunun gibi bir şey:

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

2
Resimler nerede ve nasıl tanımlanıyor?
eumiro

2
Diğer insanlar için ipucu. ASC / DESC'i 'last_activity' üzerinde bırakırsanız, varsayılan sıralama düzeni ASC olabilir.
Geekygecko

Yanıtlar:


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

15

Resme ve ardından aktiviteye göre sıralayın:

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

2
anlamıyorum, DESC nereye gidiyor? her öğenin arkasında?
Alexander

2
Evet. Muhtemelen last_activityen yeniden en eskiye doğru sipariş vermek istersiniz . Ve resimlerin nasıl tanımlandığını (ne anlama geldiğini) pic_setaçıklarsanız, bu niteliği nasıl sıralayacağınızı da söyleyebilirim.
eumiro

5
Alexander, sana yapabileceğine inanıyorum ORDER BY pic_set DESC, last_activity DESCya ORDER BY pic_set DESC, last_activity ASC(varsayılan yapılandırma ile) mysql her sütun, varsayılan sıralama yönü için çok sıralama yönü ASC.
ZurabWeb

0
SELECT id, user_id, video_name
FROM sa_created_videos
ORDER BY LENGTH(id) ASC, LENGTH(user_id) DESC
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.