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相同的就按会员时长倒序(时长越长越在前),若会员时长也相同就按更新时间倒序(最新的在前)

可以的,order by多个字段规则是这样的,用逗号分隔每一个字段,如果字段不指明排序方式,默认是增序。排序的方法是先按第一个字段排序,如果有相同的再按后续的字段依次排序。

举个例子

按照c1排序的结果如上图,然后我们按照c1增序,c2降序排列,结果如下:


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

原文地址: http://outofmemory.cn/zaji/7463984.html

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

发表评论

登录后才能评论

评论列表(0条)

保存