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

sql 多次排序问题

order by后边的字段并不是唯一的,支持多个,按照你排序的先后顺序写就可以了。另外按照每个字段的升序和降序同样支持。默认是升序的。如下 order by column1(asc or desc),column2(asc or desc),column3(asc or desc),column4(asc or desc)...

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

升序是 ASC,降序是 DESC select * FROM a ORDER BY m ASC,n DESC

将字段依次写在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 BY cast(你的字段名 as int) 这里的原因是因为你的那个字段虽然存储了数字值,但是它是一个字符型 而字符型的 '2' 比 '11'要大 因为是从第一个字母开始比其的

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

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

这个问题的原因是你的time 不是datetime 应该是varchar型. 改成这个. sql="select id,title,content,class,img,time from info order by cast(time as datetime) desc" 就行了

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

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