关于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 但这个不行。

求指教~~
展开
 我来答
wxj1115
2011-06-12 · TA获得超过135个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:154万
展开全部
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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式