可能重复:
Duplicate result
Interview - Detect/remove duplicate entries
我有一个SQL查询,它返回一个包含一列的表。
返回的数据可能重复。例如,我的查询可能是这样的:
SELECT item FROM myTable WHERE something = 3
并且返回的数据可能是这样的:
item
-----
2
1
4
5
1
9
5
我的问题是,如何从查询中删除重复的项目?
我的意思是,我希望得到这些结果:
item
-----
2
1
4
5
9
请注意,我不想要更改或删除表格中的任何行。我只想删除该查询中的重复
怎么做?
答案 0 :(得分:14)
SELECT DISTINCT item FROM myTable WHERE something = 3
答案 1 :(得分:4)
如上所述,distinct
关键字消除了重复行 - 其中行在列中具有相同的值 - 来自结果集。
但是,对于正确设计的数据库的非平凡查询,结果集中存在重复行 - 以及通过select distinct
或select ... group by
消除它们,恕我直言,通常是“代码气味“表示不正确或不正确的连接标准,或者缺乏对表格之间关系中存在的基数的理解。
如果我正在审核代码,select distinct
或免费的group by
没有任何明显的需要,那么将会标记包含的查询,并使用精细的齿梳进行查询。
答案 2 :(得分:2)
您需要在查询中添加 DISTINCT 关键字 此关键字非常标准,并且在所有主要数据库上都受支持。
答案 3 :(得分:1)
SELECT DISTINCT item FROM myTable WHERE something = 3
你只需要使用不同的