博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库 语句 总结
阅读量:6238 次
发布时间:2019-06-22

本文共 829 字,大约阅读时间需要 2 分钟。

  问题:表#lastTable,列为:[provinceId],[allTypeSum],里面有几十行数据,我想选出全部,要排序,但是provinceId=40的不需要排,就是说我想把除了[provinceId]=40以外的全部行按allTypeSum值desc排序,再把[provinceId]=40行放到结果的最后面,然后输出

  解决方法一:

select * from(  select top 100 * from #lastTable where provinceId!=40 order by allTypeSum desc  --注意这里必须要top这样的语句)Tunion allselect * from #lastTable where provinceId=40

其实这里差不多就是用了一个临时表,但是注意多重select和top

  解决方法二:

select *,case provinceId when 40 then 1 else 0 end tempColunmfrom #lastTable order by tempColunm asc, allTypeSum desc

其实这方法用到了case语句,就相当于给表新增加了一个列, provinceId=40的行的新加列值是1,其他都是0,然后再按两个排序,果真新加了一个列结果如下:

----------------------------------------------------------------------------------------

学到:.case语句新增临时列的强大

----------------------------------------------------------------------------------------

转载于:https://www.cnblogs.com/jiayith/p/3467002.html

你可能感兴趣的文章
url地址栏编码
查看>>
loadrunner analysis graph settings
查看>>
animationFromTop
查看>>
Java多线程运行时序问题
查看>>
SEM如何做数据分析?
查看>>
Word文档怎么在线压缩变小?
查看>>
语音转文字如何在线转换的?
查看>>
区块链教程Fabric1.0源代码分析policy(背书策略
查看>>
平台化,中台化
查看>>
比你优秀的人都在努力,你还有什么理由浑浑噩噩
查看>>
无线传输更安全也更稳定
查看>>
ABB焊接机器人伺服电机维修常见故障
查看>>
oracle使用plsql插入数据中文乱码问题
查看>>
ssh各种异常登陆
查看>>
nginx域名配置方法
查看>>
Java 基本问题
查看>>
马哥2016全新Linux+Python高端运维班第一周作业
查看>>
setup Docker private registry
查看>>
Redis 为什么使用单进程单线程方式也这么快
查看>>
JAVA's NIO, Netty And Mina文章推荐
查看>>