1
您能否請幫助我如何獲得預期的輸出,如下面的屏幕截圖所示?無法使用密集等級獲得期望的輸出
DECLARE @TT TABLE (CUSTOMERID INT, TYPE VARCHAR(100) , D1 DATE)
INSERT INTO @TT VALUES (15001,'TYPE1', '4/1/2017')
INSERT INTO @TT VALUES (15001,'TYPE1', '4/2/2017')
INSERT INTO @TT VALUES (15001,'TYPE1', '4/3/2017')
INSERT INTO @TT VALUES (15001,'NON TYPE1', '4/4/2017')
INSERT INTO @TT VALUES (15001,'NON TYPE1', '4/5/2017')
INSERT INTO @TT VALUES (15001,'NON TYPE1', '4/6/2017')
INSERT INTO @TT VALUES (245,'Non TYPE1', '4/1/2017')
INSERT INTO @TT VALUES (245,'Non TYPE1', '4/2/2017')
INSERT INTO @TT VALUES (245,'Non TYPE1', '4/3/2017')
INSERT INTO @TT VALUES (245,'TYPE1', '4/4/2017')
INSERT INTO @TT VALUES (245,'TYPE1', '4/5/2017')
INSERT INTO @TT VALUES (245,'TYPE1', '4/6/2017')
查詢是:
SELECT * ,
DENSE_RANK() OVER (PARTITION BY CUSTOMERID ORDER BY CUSTOMERID,TYPE) DR
FROM @TT
WHERE CUSTOMERID = 15001
ORDER BY CUSTOMERID,D1
SELECT *,
DENSE_RANK() OVER (PARTITION BY CUSTOMERID ORDER BY CUSTOMERID,TYPE) DR
FROM @TT
WHERE CUSTOMERID = 245
ORDER BY CUSTOMERID,D1
謝謝你的幫助。
使用'ORDER BY TYPE DESC' –
是的,我知道這一點,但實際的數據同時具有ASC和DESC類型的場景組合。所以不能使用這個。 我修改了有問題的示例數據以突出場景 – Ram