可能重复: 重复结果 面试-检测/删除重复条目
我有一个SQL查询,它返回一个带有一个列的表。
返回的数据可能是重复的。例如,我的查询可能类似于:
SELECT item FROM myTable WHERE something = 3返回的数据可能如下所示:
item
-----
2
1
4
5
1
9
5我的问题是,如何从我的查询中删除重复的项?
我是说,我想得到这些结果:
item
-----
2
1
4
5
9请注意,我不希望更改或删除表中的任何行()。,我只想删除查询中的重复。
怎么做?
发布于 2012-08-03 22:35:42
SELECT DISTINCT item FROM myTable WHERE something = 3发布于 2012-08-03 22:55:17
如前所述,distinct关键字从结果集中删除重复行(其中行在列中具有相同的值)。
但是,对于针对设计正确的数据库的非平凡查询,结果集中存在重复行并通过select distinct或select ... group by消除它们,IMHO通常是表示不正确或不正确的连接条件的“代码气味”,或者缺乏对表之间关系中的基数的理解。
如果我正在查看代码,select distinct或没有任何明显需要的免费group by将标记包含的查询,并且该查询将带一个细齿梳子进行处理。
发布于 2012-08-03 22:38:34
您需要在查询中添加显著的关键字。
这个关键字是相当标准的,并支持所有主要数据库。
参见这里的参考文献。
https://stackoverflow.com/questions/11804172
复制相似问题