考虑一个表
结果(id,key,value)其中key是主键。
示例数据:
id | key | value
-----------------------
abc| source-1 | 20
abc| source-2 | 30
abc| source-3 | 2
abc| source-4 | 10
def| source-5 | 1
ghi| source-6 | 25
jkl| source-5 | 13
我想只返回那些具有给定id的单个条目的记录。所以输出应该是
id | key | value
------------------------
def| source-5 | 1
ghi| source-6 | 25
jkl| source-5 | 13
请告知。
答案 0 :(得分:3)
一种方法是使用GROUP BY和HAVING生成一个带有所需id
s的派生表,然后加入它:
select results.*
from results
join (
select id
from results
group by id
having count(*) = 1
) as dt on results.id = dt.id
如果您不喜欢派生表,也可以使用IN:
select *
from results
where id in (
select id
from results
group by id
having count(*) = 1
)