gpt4 book ai didi

sql - SQL中连续行的差异

转载 作者:行者123 更新时间:2023-12-04 18:03:55 26 4
gpt4 key购买 nike

我有一个包含任意整数的表格。数字开始没有特定标准,但下一行的数字将是 +2000,然后是上一行,依此类推。所以我想通过查询找出2行的差异不是2000的地方。你能帮我解决这个问题吗?比较如下:

Row 1 = 1000
2 = 3000
3 4000
4= 6000
5= 7000

然后只输出3和5,因为第3行和第5行的差不是2000。第3行应该与第2行比较,第5行应该与第4行比较。

我的数据看起来像:

标签订单日期

测试 480000 3/31/2015测试 2 481000 2014 年 3 月 31 日测试 3 482000 2015 年 3 月 31 日测试 4 483000 2014 年 3 月 31 日

enter image description here

最佳答案

如果您有 SQL Server 2012 或更高版本,则可以使用 LAG 函数。

LAG 会给出上一行的一个值,比较这个值是否比当前行低 2000:

WITH diffs as (
SELECT rowValue,
rowValue - LAG(rowValue) OVER (ORDER BY rowValue) diff
FROM dataTable)
SELECT rowValue
FROM diffs
WHERE diff <> 2000

http://sqlfiddle.com/#!6/59d28/2

关于sql - SQL中连续行的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30310110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com