Я хочу ранжировать последовательное нулевое значение для моих записей. Каждая запись будет иметь ранг как 1. Для нулевого значения, которое появляется только один раз, ранг будет также равен 1. Но для нулевых значений, которые появляются последовательным образом, ранг будет 1 для первой записи, а второй для второго запись и т. д. Вот мой код.Ранг последовательных нулевых значений
CREATE TABLE #my_table
(
id BIGINT IDENTITY PRIMARY KEY
,fruit varchar(100)
);
INSERT INTO #my_table
SELECT 'apple'
UNION ALL SELECT 'apple'
UNION ALL SELECT NULL
UNION ALL SELECT 'pineapple'
UNION ALL SELECT 'banana'
UNION ALL SELECT NULL
UNION ALL SELECT NULL
UNION ALL SELECT 'orange'
select * from #my_table
Предназначенный результат
+----+-----------+------+
| id | fruit | rank |
+----+-----------+------+
| 1 | apple | 1 |
| 2 | apple | 1 |
| 3 | NULL | 1 |
| 4 | pineapple | 1 |
| 5 | banana | 1 |
| 6 | NULL | 1 |
| 7 | NULL | 2 |
| 8 | orange | 1 |
+----+-----------+------+
Как я должен запросить его?
Пожалуйста, помогите!
Какая версия SQL Server? –
Привет! Его SQL-сервер 2014 – eric