使用SQL查找唯一行?

时间:2014-10-30 15:02:06

标签: sql postgresql

我想从表中返回唯一的所有行。即如果两行中的某个字段包含相同的名称,则不应显示该名称。

3 个答案:

答案 0 :(得分:10)

由于您只需要唯一身份名称(而不是像DISTINCT那样的每个名称都有唯一的行),您必须使用GROUP BYHAVING(而不是WHERE的一个,因为你的参数是函数的结果,而不是变量的结果:

SELECT name FROM myTable GROUP BY name HAVING COUNT(name) = 1

答案 1 :(得分:0)

SELECT DISTINCT column_name FROM table

答案 2 :(得分:0)

如果您想要完整的,请使用row_number()distinct on

select distinct on (name) t.*
from table t
order by name;