SQL中多条件排序问题

假如我想对一组查询结果进行2种条件的排序怎么能实现呢?比如说:一组用户数据nameonlineviewnuma045b130c020d110最后我要排序出的顺序是b,d,... 假如我想对一组查询结果进行2种条件的排序怎么能实现呢?比如说:一组用户数据
name online viewnum
a 0 45
b 1 30
c 0 20
d 1 10
最后我要排序出的顺序是
b,d,a,c
也就是说先对online做排序,把在线的用户提到最上面
然后再对被访问数viewnum做排序,访问数多的自然要排前面
展开
 我来答
198901245631
2015-04-21 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1850万
展开全部

第一步:确定输出内容,你要的字段为name,数据结果为b,d,a,c ;

第二步:找规律,b、d的online为1;a、c的位说明是按online 降序;然后来看下 b 、d的online相同,viewnum为30和10,那么就是viewnum降序;如果a、c的viewnum也是降序那么规律就找到了,发现 a为40、c为20,确实是降序,满足条件。

第三步:总结规律就是先按online降序排序,之后再按viewnum降序排序。

第四步:得出需要的sql。

select name  from  tablename order by online desc, viewnum  desc ;
hit_lubin
2011-04-07 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2075万
展开全部
order by后边的字段并不是唯一的,支持多个,按照你排序的先后顺序写就可以了。另外按照每个字段的升序和降序同样支持。默认是升序的。如下
order by column1(asc or desc),column2(asc or desc),column3(asc or desc),column4(asc or desc)...
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0951d78
2011-04-07 · TA获得超过1451个赞
知道小有建树答主
回答量:1727
采纳率:0%
帮助的人:1299万
展开全部
order by online desc,viewnum desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式