执行以下查询时,我得到多个记录,每个记录的 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,也许您应该考虑将其设为主键。这样,表中就只允许一行具有该值。