
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做排序,访问数多的自然要排前面 展开
name online viewnum
a 0 45
b 1 30
c 0 20
d 1 10
最后我要排序出的顺序是
b,d,a,c
也就是说先对online做排序,把在线的用户提到最上面
然后再对被访问数viewnum做排序,访问数多的自然要排前面 展开
3个回答
展开全部
第一步:确定输出内容,你要的字段为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 ;
展开全部
order by后边的字段并不是唯一的,支持多个,按照你排序的先后顺序写就可以了。另外按照每个字段的升序和降序同样支持。默认是升序的。如下
order by column1(asc or desc),column2(asc or desc),column3(asc or desc),column4(asc or desc)...
order by column1(asc or desc),column2(asc or desc),column3(asc or desc),column4(asc or desc)...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
order by online desc,viewnum desc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询