我想从表中返回唯一的所有行。即如果两行中的某个字段包含相同的名称,则不应显示该名称。
答案 0 :(得分:10)
由于您只需要唯一身份名称(而不是像DISTINCT
那样的每个名称都有唯一的行),您必须使用GROUP BY
和HAVING
(而不是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;