[英]Distinct for two columns using SQL Server 2008 R2
I have a select query as shown below: 我有一个选择查询,如下所示:
select cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk
from test
where cola in (select colb from test);
How can I get only distinct cola
and colb
from different columns? 我怎样才能获得唯一不同的cola
和colb
不同列?
My try: 我的尝试:
select Distinct cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk
from test
where cola in (select distinct colb from test);
You could use ROW_NUMBER
with a CTE : 您可以将ROW_NUMBER
与CTE一起使用:
WITH CTE AS
(
select cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk,
rn = ROW_NUMBER() OVER (PARTITION BY cola, colb ORDER BY cola)
from test
where cola in (select colb from test)
)
SELECT cola,colb,colc,cold,cole,colf,colg,colh,coli,colj,colk
FROM CTE
WHERE rn = 1
This selects arbitrary rows for every cola, colb combination. 这为每种可乐,玉米棒组合选择任意行。 If you want to fine-tune it change ORDER BY cola
to something more meaningful. 如果您想对其进行微调,请将ORDER BY cola
更改为更有意义的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.