gpt4 book ai didi

sql - SQL Server 中第一个实例 0 rest other 变成 1

转载 作者:行者123 更新时间:2023-12-05 08:28:54 24 4
gpt4 key购买 nike

我有一个场景,如果 IDCodeInsertDate 相同,如果它是第一个条目,那么它将是 0 否则 1 .

演示数据:

CREATE TABLE #test 
(
ID int,
code int,
InsertDate datetime2
)

Insert into #test values (1,1,'2019-09-17 03:19:00.0000000')
Insert into #test values (1,1,'2019-09-17 03:19:00.0000000')
Insert into #test values (1,1,'2019-09-17 03:19:00.0000000')
Insert into #test values (2,1,'2019-09-17 03:19:00.0000000')
Insert into #test values (3,1,'2019-09-17 03:19:00.0000000')

预期的 o/p

ID  code    InsertDate              flag   
-----------------------------------------
1 1 2019-09-17 03:19:00.0000000 0
1 1 2019-09-17 03:19:00.0000000 1
1 1 2019-09-17 03:19:00.0000000 1
2 1 2019-09-17 03:19:00.0000000 0
3 1 2019-09-17 03:19:00.0000000 0

我尝试过的

SELECT
*,
ROW_NUMBER() OVER (PARTITION BY ID, Code, Insertdate ORDER BY InsertDate) flag
FROM #test

有了这个,我有了初步的逻辑,但下一步我需要帮助。

最佳答案

一个简单的 CASE 表达式可能会有所帮助:

SELECT
*,
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY ID, Code, Insertdate ORDER BY InsertDate) = 1 THEN 0
ELSE 1
END AS Flag
FROM #test

关于sql - SQL Server 中第一个实例 0 rest other 变成 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73233313/

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