gpt4 book ai didi

sql - 如何获取group by的id?

转载 作者:行者123 更新时间:2023-12-05 04:51:35 24 4
gpt4 key购买 nike

我有用于对值进行分组的 sql 脚本

select count(*), equity_name, date, field
from balance
group by equity_name, date, field
having count(*)>1

如何获取每个组的 ID?将来我需要将重复值插入到另一个表中。

我目前的结果:

cur_res

我需要的结果:

result

最佳答案

如果你想给组分配一个序号,你可以使用:

select count(*), equity_name, date, field,
row_number() over (order by equity_name, date, field) as id
from balance
group by equity_name, date, field
having count(*) > 1;

如果您想要一个不依赖于表中数据的组的稳定“名称”,您可以将字段连接在一起:

select count(*), equity_name, date, field,
concat_ws(':', equity_name, date, field) as id
from balance
group by equity_name, date, field
having count(*) > 1;

但是,如果您真的关心随着时间的推移持久保存该组,我建议您将结果保存到一个包含自动生成的 identity 列的表中。

关于sql - 如何获取group by的id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66870551/

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