Sql server 如何在SQL Server中为每个ID筛选具有多个值的列
我有一个结果集,如下所示,例如,当同一ID有两个记录的年龄和状态列的值不同时,我想选择一个记录 请参阅下面的结果集,其中ID、姓名、国家名称来自表A,年龄、活动状态来自表bSql 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 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,会发生什么?