概述
MySql排序
- 单列排序
- 多列排序
- 自定义排序
- 假如表中有一列state(状态),该列的值有0、1、2、3、4,现在需要按照1、0、2、4、3进行排序所以自定义排序order by field(state,1,0,2,4,3)
- 自定义排序+多列排序
- 条件排序
- 条件排序+多列排序
单列排序
- 默认升序
order by 列名; - 升序
order by 列名 asc; - 降序
order by 列名 desc;
多列排序
- 默认先按照列名1升序,再按照列名2升序
order by 列名1,列名2; - 先按照列名1升序,再按照列名2升序
order by 列名1 asc,列名2 asc; - 先按照列名1降序,再按照列名2降序
order by 列名1 desc,列名2 desc;
自定义排序
假如表中有一列state(状态),该列的值有0、1、2、3、4,现在需要按照1、0、2、4、3进行排序所以自定义排序order by field(state,1,0,2,4,3)
- 默认升序1,0,2,4,3
order by field(state,1,0,2,4,3); - 升序1,0,2,4,3
order by field(state,1,0,2,4,3) asc; - 降序3,4,2,0,1
order by field(state,1,0,2,4,3) desc;
自定义排序+多列排序
- 先state按照1,0,2,4,3升序排序,再按照id升序
order by field(state,1,0,2,4,3) asc,id asc; - 先state按照3,4,2,0,1降序排序,再按照id降序
order by field(state,1,0,2,4,3) desc,id desc;
条件排序
- 把state=1的排在最前面,其他state列按自然顺序排列
order by IF(state=1,0,1); - 把state=1的排在最后面,其他state列按自然顺序排列
order by IF(state=1,0,1) desc; - 把state=1的排在最前面,其他state列升序
order by IF(state=1,0,1),state asc;
条件排序+多列排序
- 先把state=1的排最前面,再根据id升序
order by IF(state=1,0,1) asc,id asc; - 先把state=1的排最后面,再根据id升序
order by IF(state=1,0,1) desc,id asc;
本人菜鸟,今天刚好学习到这个所以就记录了下来,排序还有其他方式请大佬指教,有错误的地方也请大佬指正
最后
以上就是顺心小兔子为你收集整理的MySql排序单列排序多列排序自定义排序自定义排序+多列排序条件排序条件排序+多列排序的全部内容,希望文章能够帮你解决MySql排序单列排序多列排序自定义排序自定义排序+多列排序条件排序条件排序+多列排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复