
关于mysql的order by排序的一个具体问题
比如我数据库里的内容id,你懂的;flag为0或1;sum为数字。-------------------------idflagsum1015201631174118--...
比如我数据库里的内容
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 但这个不行。
求指教~~ 展开
1个回答
展开全部
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询