您将在下面找到可供使用的测试数据。我需要的是一个dense_rank、rank、row_number 任何函数来让行编号为“NoRequired”。我测试了每个 rank 和 row_number 函数,甚至尝试使用 WITH 语句,但还没有提出解决方案。
我想这里的主要问题是,一旦两者之间有不同的键值,“排名函数”就需要跳过一个序列......
DECLARE @data TABLE (ID int IDENTITY(1,1), X int, NoRequired int);
INSERT INTO @data(X, NoRequired)
VALUES (1000,1), (1000,1), (800,2), (600,3), (1000,4), (1000,4), (800,5);
SELECT *
FROM @data;