gpt4 book ai didi

sql - 如何向 SQL 中的重复数据集添加计数器?

转载 作者:搜寻专家 更新时间:2023-10-30 20:05:21 25 4
gpt4 key购买 nike

我有一个表,其中有一个重复字段。我需要一个函数来计算并说出第 n 行中的哪个重复。即;

如果表格如下;

ID  NAME  CLASS
---------------
1 Tom a
2 Dick b
3 Harry c
4 Marry b
5 Bob c
6 Mat c
7 Mandi a

COUNT(class) 这样的函数可以计算每个类值出现了多少次。但是我需要一个函数来输出如下结果;

ID  NAME  CLASS (I_NEED) COUNT
--------------------------------
1 Tom a 1 2
2 Dick b 1 2
3 Harry c 1 3
4 Marry b 2 2
5 Bob c 2 3
6 Mat c 3 3
7 Mandi a 2 2

我正在使用 SQL Server 2010R2

任何想法都会有很大帮助。提前致谢!!

最佳答案

我想这就是您要找的:

select id, 
name,
class,
row_number() over (partition by class order by id) as i_need,
count(*) over (partition by class) as cnt
from the_table
order by id

关于sql - 如何向 SQL 中的重复数据集添加计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11784316/

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