日期:2014-05-17  浏览次数:20561 次

order by怎么理解?
记得order by 后面是退一个表的字段..
但后来看到一些像这样的


order by 0--数字零,当时的意思好像就是将它排在第一
这后面不是退字段吗?
不能理解

还看到过如 dfd_1 dsfs_2 jkg_3 djf_4
如果以后面数字排序
是不是order by right([字段],1);

不能理解了

大侠帮忙,谢谢!

------解决方案--------------------
正确
------解决方案--------------------
dfd_1 dsfs_2 jkg_3 djf_4 
如果以后面数字排序 
是不是order by right([字段],1); 

是的 
最好转化成INT 
order by cast (right([字段],1) as int)
------解决方案--------------------
order by right([字段],1);

你select right([字段],1)就知道了
------解决方案--------------------
最好不要这样用,容易搞乱。
------解决方案--------------------
就是按照右边的那个数字排序。想想就能理解了
------解决方案--------------------
SQL code
1:order  by直接跟数字,表示排序的第几列
2:order by left(字段,1) 你可以select 出来看看,结果就是按这一列得出的值排序

------解决方案--------------------
SQL code
select * from tb order by case when col='c' then 0 else col end

------解决方案--------------------
原来感觉好像这个order by没什么。
今天看了,发现又不懂了,
帮顶,学写了
------解决方案--------------------
探讨
SQL codeuse dbcreatetable tb(colvarchar)insertinto tbselect'a'unionallselect'b'unionallselect'c'select*from tborderbycasewhen col='c'then'0'else colenddroptable tb
看到,这个行了
但是它是order by 'c' 这个是什么意思?