如何只在sql中选择唯一的行?

eug*_*neK 2 sql t-sql sql-server

我在Messages表中有两列,senderUserID和recieverUserID.我选择senderUserID和recieverUserID,其中当前接收者过去向当前发送者发送了一条消息.我选择10行每次只,但有时此表时,我需要的,只有senderUserID将是独一无二的senderUserID多次出现,而正好recieverUserID可以返回多次.

这是样本数据

66622   61350
90166   79222
90176   79222
86727   80452
10888   47305
66560   79219
66622   80452
89548   14452
66622   69177
52081   79223
Run Code Online (Sandbox Code Playgroud)

正如您所见,66622在senderUserID中出现两次.我如何限制它只出现一次.

谢谢

Mar*_*ith 5

;WITH cte AS
(
SELECT senderUserID, 
       recieverUserID,
       ROW_NUMBER() OVER (PARTITION BY senderUserID ORDER BY recieverUserID) AS RN
FROM YourTable
)
SELECT senderUserID,recieverUserID FROM cte 
WHERE RN=1
Run Code Online (Sandbox Code Playgroud)