SQL求同一列数据各行之间的差值,diff

select a.id,a.Value - b.Value
from Abc a
left join Abc b 
on a.id + 1 = b.id

实现如下

Table Abc
ID Value
1 30
2 20
3 16
4 24

求 ID Value Diff
1 30 10
2 20 4
3 16 -8
4 24 Null

参考自 http://bbs.csdn.net/topics/390908213

这个方法很不错,但是在大数据量表的查询中速度会很慢,不过想求几十万行表中所有值的差异,类似matlab中的diff,也已经有充分的心理准备。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容