欧洲大学协会
假设我有一个这样的表:
您可以使用row_number()over()与普通表表达式,如下所示:
with cte as (
SELECT DISTINCT ClientID,Name,Country,row_number()over(partition by ClientID ,Name order by Country) rownumber FROM CLIENTS)
select * from cte where rownumber=1
Row_number()over(partition by ClientID,Name by Country)将针对每个客户端和名称生成从1开始的国家序列。因此,当您选择rownumber=1时,该查询将为单个客户端,名称组合选择一个国家。