“distinct”查询返回多个记录

“distinct”查询返回多个记录

执行以下查询时,我得到多个记录,每个记录的 id=10。如果我使用 distinct 关键字,那么我应该只得到一条记录。可能是什么原因?

“从表名中选择不同的(id),其中id =“10”

答案1

您确实应该提供一些测试数据,并让我们知道您使用的是哪种 SQL(TSQL/MySQL/psql)。根据您的标签,我假设您使用的是 psql。

根据Postgres 文档你应该做这样的事:

select distinct id from tablename where id="10"

如果您的表中有一个行/列,这将仅返回包含 10 的一行/列,如果您想要表中 id="10" 的所有不同类型的行而没有任何重复,那么您可以执行以下操作:

select distinct * from tablename where id="10"

您的语法似乎是将 distinct 作为函数调用,而不是 sql 关键字查看

另外,如果“id”确实是行的 id,也许您应该考虑将其设为主键。这样,表中就只允许一行具有该值。

相关内容