SQL 选择不同的数据而不对列进行排序

Lif*_*sun 0 sql sql-server select

我有包含以下数据的表:

DECLARE @CheckList TABLE
                   (  
                        RowNumber INT IDENTITY(1,1) INT, 
                        CheckId INT, 
                        Treat INT 
                   )  
INSERT INTO @CheckList 
VALUES (1, 1, 1), (1, 3, 1), (1, 2, 1), (1, 1, 1),
       (1, 3, 1), (1, 2, 1), (1, 1, 3), (1, 3, 3),
       (1, 2, 3);

SELECT DISTINCT Id, CheckId 
FROM @CheckList
WHERE Id = 1
Run Code Online (Sandbox Code Playgroud)

我想从这个表中选择数据的地方

   Id   CheckId
   ------------
    1   1
    1   3
    1   2
Run Code Online (Sandbox Code Playgroud)

我想要表中可用的检查 ID 的相同顺序。你能帮我解决这个问题吗?

Ser*_*erg 7

RowNumber标识列保留原始排序

select Id,CheckId
from(
   select distinct Id,CheckId, min(rownumber) over(partition by Id,CheckId) rn
   from @CheckList
   where Id=1
   ) t
order by rn;
Run Code Online (Sandbox Code Playgroud)

数据库小提琴