gpt4 book ai didi

sql-server - 选择元素在接下来的 2 个月内出现。数据库服务器

转载 作者:行者123 更新时间:2023-12-02 08:27:46 25 4
gpt4 key购买 nike

这是我的 SELECT 查询的结果。

Code    Name         MONTH
------- ------------ -----------
Cust3 CustName3 1
Cust2 CustName2 2
Cust5 CustName5 3
Cust2 CustName2 5
Cust2 CustName2 6
Cust3 CustName3 7
Cust6 CustName6 8
Cust1 CustName1 10
Cust1 CustName1 11
Cust3 CustName3 12

现在我想选择连续两个月具有相同 Code 值的行,例如 Cust2 在第 5 个月和第 6 个月是连续的,而 Cust1 在第 10 个月和第 11 个月连续:

Code    Name         MONTH
------- ------------ -----------
Cust2 CustName2 5
Cust2 CustName2 6
Cust1 CustName1 10
Cust1 CustName1 11

最佳答案

这是另一种使用 ROW_NUMBERCOUNT() OVER 的方法:

SQL Fiddle

WITH Cte AS(
SELECT *,
RN = [Month] - ROW_NUMBER() OVER(PARTITION BY Code ORDER BY [Month])
FROM TestData
),
Cte2 AS(
SELECT *,
CC = COUNT(*) OVER(PARTITION BY Code, RN)
FROM Cte
)
SELECT
Code, Name, [Month]
FROM Cte2
WHERE CC >= 2

关于sql-server - 选择元素在接下来的 2 个月内出现。数据库服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496582/

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