mit*_*atw 2 sql database sql-server
我有一张表有一个重复的字段.我需要一个函数来计算并说明哪个重复在第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
Run Code Online (Sandbox Code Playgroud)
像这样的函数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
Run Code Online (Sandbox Code Playgroud)
我在SQL Server 2010R2上使用MSSQL
任何想法都会有很大的帮助..在此先感谢!!
我认为这就是你要找的东西:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |