簡體   English   中英

T-SQL 如何返回總項中的 X 項

[英]T-SQL How to return X item of Total items

我有一個表,其中出現這些值:

-------------------------------
Id | Name   | Type | Date
-------------------------------
1  | Nick   | 1    | 13/11/2020
2  | Peter  | 1    | 13/11/2020
3  | Thomas | 2    | 13/11/2020
4  | Mike   | 2    | 13/11/2020
5  | Kelly  | 3    | 13/11/2020
6  | Nicky  | 3    | 13/11/2020

我想作為輸出:

1  | Nick   | 1 | 13/11/2020  Type 1/2
2  | Peter  | 1 | 13/11/2020  Type 2/2
3  | Thomas | 2 | 13/11/2020  Type 1/1
4  | Mike   | 3 | 13/11/2020  Type 1/3
5  | Kelly  | 3 | 13/11/2020  Type 2/3
6  | Nicky  | 3 | 13/11/2020  Type 3/3

所以我想將每種類型的“行號”與這種類型的總數一起。 我怎樣才能做到這一點?

謝謝。

您可以使用窗口函數:

select t.*,
    row_number() over(partition by type order by name) rn,
    count(*)     over(partition by type) cnt
from mytable t
order by type, name

不清楚您希望如何對具有相同type行進行排序:這使用列name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM