mysql的orderby可以排序多个吗

mysql的orderby可以排序多个吗,第1张

mysql的orderby可以排序多个

多个排序语法:

升序:select * from table_name order by 字段1,字段2

降序:select * from table_name order by 字段1 desc,字段2 desc

下面通个一个例子介绍:

有表student,表记录有

当只做age的排序的时候,年龄从大到小的排列

当做age和id排序的时候,先是年龄排序,而同年龄时段的再按id大小排序

mysql的order by可以排序多个,只需在order by 后面的字段用逗号隔开即可,多个排序是有效的。

如果置顶、会员时长、更新时间分别对应了表中的一个字段,那么是可以的

假定这几个字段是

top(是否置顶,1.置顶 0.不置顶)

vipDays 会员时长

updateTime (更新时间)

那么sql可以这么写

select * from table where type=1 order by top desc,vipDays desc,updateTime desc

效果就是先top倒序(置顶的在前),top相同的就按会员时长倒序(时长越长越在前),若会员时长也相同就按更新时间倒序(最新的在前)

在数据库查询时,常常需要排序,而有时排序条件可能有多个。

如数据库:

a b

1 103

1 101

2 201

2 203

1 102

2 202

排序后: a b

1 103

1 102

1 101

2 203

2 202

2 201

语句:

SELECT A.a , A.b FROM TABLE A ORDER BY A.a ASC , A.b DESC

其中ASC连接多条排序,且与后一条查询之间有逗号隔开!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5906504.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存