数据表是这样:
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去掉,看看速度有没有变化
------解决思路----------------------
4000条数据那么久。。。服务器啥配置啊?就算是没有任何索引,4000条数据也是几秒的事情,除非你那服务器配置太衰。。。