複数のアイテムによるmysqlクエリの順序


95

複数行で注文できますか?

ユーザーをlast_activityでソートしたいのですが、同時に、写真のあるユーザーを、写真のないユーザーの前に表示したい

このようなもの:

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

2
写真はどこでどのように定義されていますか?
eumiro

1
他の人のためのヒント。「last_activity」でASC / DESCを省略した場合、デフォルトのソート順はASCになります。
Geekygecko 2013年

回答:


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

14

画像で並べ替えてから、アクティビティで並べ替えます。

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

2
理解できません。DESCはどこに行きますか?すべてのアイテムの後ろ?
アレクサンダー

2
はい。あなたはおそらくlast_activity最新のものから最も古いものへと注文したいと思うでしょう。また、画像の定義方法(pic_set略称)を説明すると、この属性の並べ替え方法も説明できます。
eumiro

5
アレクサンダーは、私はあなたが行うことができると信じてORDER BY pic_set DESC, last_activity DESCORDER BY pic_set DESC, last_activity ASC(デフォルト設定で)MySQLでは、各列のデフォルトのソート方向をソート方向ようASCです。
ZurabWeb 2014年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.