[英]SQL Server 2008 R2: ROW_NUMBER() with 2 columns
表結構:
CREATE TABLE AZTool
(
t_ID int,
z_ID int,
col_date date
);
插入數據:
INSERT INTO AZTool values(12,23409,'2017-01-02')
INSERT INTO AZTool values(12,23409,'2017-01-03')
INSERT INTO AZTool values(21,23409,'2017-03-14')
INSERT INTO AZTool values(12,24455,'2017-04-22')
INSERT INTO AZTool values(22,24455,'2017-05-13')
INSERT INTO AZTool values(22,35600,'2017-04-04')
INSERT INTO AZTool values(23,35600,'2017-05-14')
INSERT INTO AZTool values(24,35600,'2017-05-16')
INSERT INTO AZTool values(25,35600,'2017-05-24')
預期產量:
t_ID z_ID RowNumber
-------------------------
12 23409 1
12 23409 1
21 23409 2
12 24455 1
22 24455 2
22 35600 1
23 35600 2
24 35600 3
25 35600 4
我的嘗試:
SELECT
t_ID, z_ID,
ROW_NUMBER() OVER (PARTITION BY t_ID, z_ID ORDER BY z_ID) rn
FROM
AZTool
我糾正的問題:
t_ID
ORDER BY
子句中按t_ID
DENSE_RANK
而不是ROW_NUMBER
SELECT
t_ID,
z_ID,
DENSE_RANK() OVER(PARTITION BY z_ID ORDER BY t_ID) rn
FROM AZTool;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.