您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> 其他数据库 >> sql server select语句结果要order by

sql server select语句结果要order by

来源:网络整理     时间:2016/5/19 17:38:34     关键词:SQL Server,select语句

关于网友提出的“sql server select语句结果要order by”问题疑问,本网通过在网上对“sql server select语句结果要order by”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:sql server select语句结果要order by
描述:

表MyTable,列为:[id],[data]

里面有几十行数据,我想选出全部,要排序,但是id=40的不需要排,

就是说我想把除了id=40以外的全部行按data值desc排序,

再把id=40行放到结果的最后面,然后输出

怎么做?


解决方案1:

SELECT *,CASE WHEN ID = 1 THEN 1 ELSE 0 END T1 FROM t ORDER BY T1 ASC


ID = 1换成你指定那一行的条件。

解决方案2:

1: 一楼方法可行.

2: select * from(
    select top 10000000 * from MyTable
    where id!=40
    order by data desc
) T
union all
select * from MyTable
where id=40

这样也可以的。

注:top 10000000 这个地方你要给一个足够大的整数,也就是比你整个行数要大的整数。

解决方案3:

哈哈,学习了

解决方案4:

同意一楼的语句
SELECT id,data,CASE WHEN ID = 40 THEN 1 ELSE 0 END T1 FROM MyTable ORDER BY T1 ASC,data DESC

解决方案5:

其实一楼的方法就比较好!

SELECT *,CASE WHEN ID = 40 THEN 1 ELSE 0 END T1 FROM MyTable ORDER BY T1 ASC,data DESC

解决方案6:

直接用SQL语句去处理单表,应该是不行的我自己试了用UNION 也不行,但有如下两种方法可行

1 用临时表变量,把排好序不包括指定行的数据,插入到临时表变量中,然后再查询出不需要排序的数据并插入临时表变量中

虽然麻烦了一点,但是实现肯定OK了

2 用程序处理,原理与 上面一样分两次查询并存入一个List中 


以上介绍了“sql server select语句结果要order by”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1184972.html

相关图片

相关文章