2009-11-02 41 views
0

我有下面的表结构。选择独特的Sql Server问题

A | B | C 

我想拉A列和B列,其中A和B的所有结果是不同的。我希望忽略C列。我对不同的关键字进行了深入研究,它将整个行看成不是你返回的列。任何想法我可以做到这一点?

+0

它更好地得到实施例的数据输出和期望。 – 2009-11-02 12:32:15

回答

3

并非如此。 DISTINCT查看您指定的任何列。所以对你来说,SELECT DISTINCT A, B FROM table

我宁愿在GROUP BY虽然:SELECT A, B FROM table GROUP BY A, B

2

你的理解是错误的。 DISTINCT不会看整行。你有尝试过这样的吗?

SELECT DISTINCT(A, B) FROM t WHERE ... 
0

SELECT DISTINCT不看整个行中的数据库,它只是着眼于请求的列。所以你可以只做SELECT DISTINCT a,b FROM mytable,它会完全忽略列c。

0

选择不同的a,b,ROW_NUMBER()以上(通过由一个顺序分区)为Rn到#T1从 (选择不同B,A从表)d

更新#T1 设定=空其中RN> 1

选择A,b从#T1