在 SQL 查询中选择两个列的不同值

18

如果我有这样一个表:

1 bob
1 ray
1 bob
1 ray
2 joe
2 joe

我想根据这两列选择不同的数据,以便我可以得到

1 bob
1 ray
2 joe

我该如何描述我的查询?难道唯一的方法就是连接这些列并在它们周围使用distinct函数操作符吗?

2个回答

35
select distinct id, name from [table]
或者
select id, name from [table] group by id, name

1
@OMG Ponies,为什么47k不够? - Denis Valeev
1
数字是任意的 - 我可以问你为什么100不够。我在磨练技能的过程中学到了很多东西。SO格式比传统论坛更好用。 - OMG Ponies
2
和@OMG Ponies说:“你永远无法得到足够的东西来让你感到快乐,因为这些东西并不是你所需要的。” ~Eric Hoffer :-) - Joe Stefanelli

6
您可以直接执行以下操作:
select distinct col1, col2 from your_table;

这正是distinct运算符的作用:去除重复的结果行。

请注意,distinct通常是一项非常昂贵的操作,因为在处理查询后,数据库服务器可能需要执行一次sort操作以去除重复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接