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