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