MySQL按多个项目查询顺序
Posted
技术标签:
【中文标题】MySQL按多个项目查询顺序【英文标题】:MySQL query order by multiple items 【发布时间】:2011-06-20 01:15:18 【问题描述】:是否可以按多行排序?
我希望我的用户按last_activity
排序,但同时我希望有图片的用户出现在没有图片的用户之前
类似这样的:
SELECT some_cols
FROM `prefix_users`
WHERE (some conditions)
ORDER BY last_activity, pic_set DESC;
【问题讨论】:
图片在哪里以及如何定义的? 给其他人的小费。如果您在“last_activity”上不使用 ASC / DESC,则默认排序顺序可以是 ASC。 【参考方案1】:SELECT some_cols
FROM prefix_users
WHERE (some conditions)
ORDER BY pic_set DESC, last_activity;
【讨论】:
【参考方案2】:先按图片排序,再按活动:
SELECT some_cols
FROM `prefix_users`
WHERE (some conditions)
ORDER BY pic_set, last_activity DESC;
【讨论】:
我不明白,DESC 去哪儿了??每个项目的背后? 是的。您可能想要从最新到最旧订购last_activity
。如果你解释图片是如何定义的(pic_set
代表什么),我也可以告诉你如何对这个属性进行排序。
Alexander,我相信你可以做到ORDER BY pic_set DESC, last_activity DESC
或ORDER BY pic_set DESC, last_activity ASC
所以每列的排序方向,mysql 中的默认排序方向(默认配置)是ASC。【参考方案3】:
SELECT id, user_id, video_name
FROM sa_created_videos
ORDER BY LENGTH(id) ASC, LENGTH(user_id) DESC
【讨论】:
以上是关于MySQL按多个项目查询顺序的主要内容,如果未能解决你的问题,请参考以下文章