关于mysql的order by排序的一个具体问题
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/25 12:12:42
关于mysql的order by排序的一个具体问题
比如我数据库里的内容
id,你懂的;flag为0或1;sum为数字.
-------------------------
id flag sum
1 0 15
2 0 16
3 1 17
4 1 18
-----------------------
要求的排序是:
1,按flag从小到大排;
2,flag为0时,按sum从小到大排;
3,flag为1时,按id从大到小排
也就是上面4条的排序结果是:1,2,4,3
初接触mysql,除基本语句外其他没怎么了解
我写的是:order by finish,sum asc,id desc limit $begin,$num 但这个不行.
比如我数据库里的内容
id,你懂的;flag为0或1;sum为数字.
-------------------------
id flag sum
1 0 15
2 0 16
3 1 17
4 1 18
-----------------------
要求的排序是:
1,按flag从小到大排;
2,flag为0时,按sum从小到大排;
3,flag为1时,按id从大到小排
也就是上面4条的排序结果是:1,2,4,3
初接触mysql,除基本语句外其他没怎么了解
我写的是:order by finish,sum asc,id desc limit $begin,$num 但这个不行.
![关于mysql的order by排序的一个具体问题](/uploads/image/z/5526118-46-8.jpg?t=%E5%85%B3%E4%BA%8Emysql%E7%9A%84order+by%E6%8E%92%E5%BA%8F%E7%9A%84%E4%B8%80%E4%B8%AA%E5%85%B7%E4%BD%93%E9%97%AE%E9%A2%98)
flag 和 sum 是varchar还是int型的
如果是int型的那么:1、order by finish,2、order by sum,3、order by id desc
如果是varchar型的那么:1、order by to_number(finish),2、order by to_number(sum),3、order by id desc
如果是int型的那么:1、order by finish,2、order by sum,3、order by id desc
如果是varchar型的那么:1、order by to_number(finish),2、order by to_number(sum),3、order by id desc