我有一张包含以下内容的表格:
目前我使用内部光标和外部光标遍历每个不同的(A列)以获取每个Distinct(B列)值。
我很确定在SQL中有更好的方法可以做到这一点,但我仍然不是100%,以下语句会给我结果:
select distinct(columnA), columnB from Table order by columnA
这能保证我(ColumnA,ColumnB)的唯一值吗?
如果是这样,SQL Server是否在ColumnA和columnB上执行distinct,即使我只将它放在columnA上?我不需要对它进行分组吗?
答案 0 :(得分:2)
您不需要CURSOR
。您想要的是ColumnA
和ColumnB
的独特组合。 DISTINCT
将为您完成。
SELECT DISTINCT ColumnA, ColumnB
FROM Table
ORDER BY ColumnA
DISTINCT将在SELECT
查询的所有列上执行,您无法将其放在单个列中。
答案 1 :(得分:1)
你几乎在那里,只做一个distinct columnA, columnB from...
select distinct columnA, columnB
from Table
order by columnA