当前位置: 代码迷 >> Sql Server >> 同一个表,对照两天同一个字段数据 降序排列
  详细解决方案

同一个表,对照两天同一个字段数据 降序排列

热度:52   发布时间:2016-04-24 08:52:29.0
同一个表,对比两天同一个字段数据 降序排列
数据表是这样:

id     username      money      addtime    
1         张三                100          2015-9-22
2         李四                90            2015-9-22
3         王五                80            2015-9-22
4         小明                70            2015-9-22
5         张三                150          2015-9-23
6         李四                190          2015-9-23
7         王五                110          2015-9-23
8         小明                110          2015-9-23


现在需要查询  张三,李四,王五,小明,这四个人23号对比22号money差值,以差值dbmoney降序排列

id     username      money     dbmoney   addtime   
1         李四                190         100     2015-9-23
2         张三                150          50      2015-9-23
3         小明                110          40      2015-9-23
4         王五                110          30      2015-9-23

这个SQL如何写呢








------解决思路----------------------
SELECT A.id,A.username,A.money,A.money-B.money AS dbmoney,A.addtime
FROM TABLE_XXX A LEFT JOIN TABLE_XXX B
ON DATEDIFF(DD,B.addtime,A.addtime)=1 AND A.username=B.username
WHERE A.addtime='2015-09-23'
ORDER BY A.money-B.money DESC

------解决思路----------------------
把 ORDER BY去掉,看看速度有没有变化
------解决思路----------------------
引用:
Quote: 引用:

把 ORDER BY去掉,看看速度有没有变化



去掉后要快些,但是四千条数据,执行起来,跑了十几分钟,还是慢

4000条数据那么久。。。服务器啥配置啊?就算是没有任何索引,4000条数据也是几秒的事情,除非你那服务器配置太衰。。。
  相关解决方案