mshd.net
当前位置:首页 >> sql 多次排序问题 >>

sql 多次排序问题

第一步:确定输出内容,你要的字段为name,数据结果为b,d,a,c ; 第二步:找规律,b、d的online为1;a、c的位说明是按online 降序;然后来看下 b 、d的online相同,viewnum为30和10,那么就是viewnum降序;如果a、c的viewnum也是降序那么规律就...

你的写法是错误的,按照你的写法在对n进行降序排序时,第一个m升序排序结果会失效,等于最终只读n做了降序排序,而且你的语句本身也比较冗余。 正确的写法是: SELECT * FROM a ORDER BY m ASC ,n DESC; 我们可以通过一些实例来具体分析order ...

select * from 表 order by convert(int,Right(类型列),1)), 时间列 desc 我首先排序的是类型列将他的右边开始第一个数取出来转成int型进行排序 之后排的时间 因为你要求T1比T2大我写的是降序~升序打asc

select * from 表 where 字段 in (x1,x2,x3,x4.....) order by 字段 ASC/DESC 此中排序字段是索引条件中字段,ASC为升序,DESC为降序,此中的排列会以X1,X2,X3排序,但X1可能有很多数据,如果在X1内部排序,请加上第二排序。 select * from 表...

ORDER BY cast(你的字段名 as int) 这里的原因是因为你的那个字段虽然存储了数字值,但是它是一个字符型 而字符型的 '2' 比 '11'要大 因为是从第一个字母开始比其的

由于你提供的数据比较特殊,故此以下俩种方法皆可 (1)双重排序 select * from table order by date2,data1; (2)先分组再排序 select * from table group by data2,order by data1;

将字段依次写在order by 后面即可 , 中间用逗号隔开。 view plaincopy to clipboardprint?select * from 表 order by time , name select * from 表 order by time asc , name asc select * from 表 order by time desc , name desc select * fr...

主键默认为聚集索引 所以出现你说的这种情况 未指定order时 肯定按聚集索引排序

你这个sort列肯定是非数值型的,所以他排序的时候会按照字符串排序方式;1开头的字符串排在前面,排完了,然后才开始排2开头的字符串,3、4、5往后面推; 如果你想要按照数字排序,先要把字符串转换成数字格式; 如果是sqlserver数据库的话, or...

SELECT A.* FROM 表 A JOIN ( SELECT MIN(字段1) AS 字段1,字段2 FROM 表 GROUP BY 字段2 ) B ON (A.字段1=B.字段1 AND A.字段2=B.字段2) ORDER BY A.字段1 没有测试,想着就写了,你试一下吧

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com