Sql server 如何在SQL Server中为每个ID筛选具有多个值的列

Sql server 如何在SQL Server中为每个ID筛选具有多个值的列,sql-server,Sql Server,我有一个结果集,如下所示,例如,当同一ID有两个记录的年龄和状态列的值不同时,我想选择一个记录 请参阅下面的结果集,其中ID、姓名、国家名称来自表A,年龄、活动状态来自表b ID name country Age status ---------------------------------------------- 1 Prasad India NULL NULL 2 John USA NULL

我有一个结果集,如下所示,例如,当同一ID有两个记录的年龄和状态列的值不同时,我想选择一个记录

请参阅下面的结果集,其中ID、姓名、国家名称来自表A,年龄、活动状态来自表b

ID  name  country Age                  status 
----------------------------------------------
1  Prasad India   NULL                  NULL 
2  John   USA     NULL                  NULL 
3  GREG   AUS     NULL                  NULL 
4  RAVI   India   NULL                  NULL 
4  RAVI   India   18 Years and Above     1
请这样做:

    Select * 
    From 
(
    Select t2.*, 
    ROW_NUMBER() over(partition by ID order by name,country,Age, status desc) as rn
    From yourtable t2
)
Where rn = 1

无法查看结果集或任何附加图像。顺便说一句,人们更喜欢将数据作为文本而不是图像,我只是添加了文本。如果我们给你举例说明,我们如何在Ravi india的两条记录之间选择保存哪一条?第二条记录的年龄和状态为1,如果你的年龄和状态为1,会发生什么?