在 SQL 服务器中对游标使用不同的语句

Using a distinct statement over cursors in SQL Server

我有一个 table 具有以下内容:

目前我正在使用内部游标和外部游标遍历每个不同的(A 列)以获取每个不同的(B 列)值。

我很确定 SQL 中有更好的方法来执行此操作,但我仍然不能 100% 相信以下语句会给我结果:

select distinct(columnA), columnB from Table order by columnA

这能保证 (ColumnA,ColumnB) 的唯一值吗?

如果是这样,SQL 服务器是否在 ColumnA 和 columnB 上执行不同的操作,即使我只将它放在 columnA 上?我不必对其进行分组吗?

你不需要 CURSOR。您想要的是 ColumnAColumnB 的独特组合。 DISTINCT 会为你做的。

SELECT DISTINCT ColumnA, ColumnB 
FROM Table 
ORDER BY ColumnA

DISTINCT将在SELECT查询中的所有列上执行,不能放在单个列上。

你几乎在那里,只是做一个 distinct columnA, columnB from...

像这样:

select distinct columnA, columnB 
from Table 
order by columnA