Dense_Rank учитывает все. Есть ли способ, чтобы исключить нулевые значения, так что следующий ранг после 1 будет 2, а не 3.Исключить нулевые значения, используя DENSE_RANK
Это то, что таблица выглядит сейчас:
A | DENSE_R
--------------
1 | 1
--------------
2 | null
--------------
3 | 3
--------------
4 | 4
Это то, что я хочу, чтобы таблица выглядеть так:
A | DENSE_R
--------------
1 | 1
--------------
2 | null
--------------
3 | 2
--------------
4 | 3
Я использую следующий код, чтобы сделать это: -
WITH CTE AS
(
SELECT A
FROM A1
)
SELECT A,
CASE
WHEN **Condition**
THEN DENSE_RANK() OVER (Order by [A] ASC)
END
AS 'DENSE_R'
FROM CTE
Я думаю, вам нужен дополнительный набор '(' ')' для всего случая. – Hogan
№ Просто проверено. Они не нужны. – GriGrim
Сладкий! Отсроченный гораздо труднее читать, но сладко. – Hogan