gpt4 book ai didi

sql - 事务 SQL : Only most recent changes if 2 columns value are the same

转载 作者:行者123 更新时间:2023-12-01 04:51:14 25 4
gpt4 key购买 nike

我正在尝试编写一个 SQL 请求,该请求将在我的数据库中获取用户,但这里有诀窍,如果有两次相同的电子邮件,我只想获取最近的一个(我的数据库中有时间戳)

这是 SQL 代码

 SELECT cs_login, cs_email_opt_out_did 
FROM dbo.individual
WHERE insert_date >= '2016-12-05 00:00:00' and insert_date < dateadd(day,1,'2016-12-05 23:59:59')
cs_login是我要检查重复的电子邮件地址吗 cs_email_opt_oud_did是一个 bool 值,其值无关紧要 insert_date是我想检查最新日期的时间戳

我的问题是我有 2 个电子邮件地址 user@test.com与不同的 cs_email_opt_out_did值(value)。我不知道如何从 insert_date 中选择具有最新日期值的那个列

最佳答案

您可以使用 row_number()像这样在 cte 中运行:

with cte as (
select
cs_login
, cs_email_opt_out_did
, rn = row_number() over (partition by cs_login order by insert_date desc)
from dbo.individual
where insert_date >= '2016-12-05 00:00:00'
and insert_date < dateadd(day,1,'2016-12-05 23:59:59')
)
select
cs_login
, cs_email_opt_out_did
from cte
where rn = 1;

关于sql - 事务 SQL : Only most recent changes if 2 columns value are the same,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40979756/

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