gpt4 book ai didi

sql - 从组中排除第一行

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

我正在尝试创建一个表,其中包含重复列 ACCIDENT_REC_NUM 和 VEHICLE_REC_NUM 的所有行的编码号 (REC_NUM)。所以我需要从可以按这两个字段分组的所有行中获取代码。

这部分没问题,你可以通过这个查询来检查:

SELECT COUNT(REC_NUM)  FROM SEQUENCE_EVENT WHERE ACCIDENT_REC_NUM IN (
SELECT ACCIDENT_REC_NUM
FROM (
select ACCIDENT_REC_NUM, VEHICLE_REC_NUM, COUNT(*) AS REPEAT from SEQUENCE_EVENT
GROUP BY ACCIDENT_REC_NUM, VEHICLE_REC_NUM
)
WHERE REPEAT > 1
)

所以,现在我必须排除每个组的第一行,因为我只需要重复行的 REC_NUM,所以第一行就可以了。

最佳答案

我强烈建议您使用分析函数来完成此操作。我认为以下内容明确地满足了您的要求:

select count(*)
from (select se.*,
count(*) over (partition by accident_rec_num, vehicle_rec_num) as repeat,
row_number() over (partition by accident_rec_num, vehicle_rec_num
order by rec_num) as seqnum
from sequence_event se
) t
where repeat > 1 and seqnum > 1;

我不能 100% 确定这是准确的查询,因为我不确定事故和车辆号码如何相互作用。

关于sql - 从组中排除第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24173757/

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