我正在尝试做一些看似简单的事情。
我想从人员中的行数= 1的表人返回一个列值(id)。
类似于:
SELECT Person.Id
FROM (select Count(*) from Person Having Count(*)=1);
但它不起作用..任何帮助都非常赞赏。
乔
答案 0 :(得分:1)
简单:
select id from (
select p.id, count(1) cnt
from Person p
group by p.id
)
where cnt = 1
功课? ;)
答案 1 :(得分:1)
您离开了GROUP BY:
SELECT ID, COUNT(1) FROM Person
GROUP BY ID
HAVING (COUNT(1) = 1)
答案 2 :(得分:0)
select person.id from person where ((select count(*) from person) = 1)
如果表为空,或者有多行,您将获得null。
答案 3 :(得分:0)
您是否在尝试查找重复的ID?
SELECT ID FROM Person p1 WHERE (SELECT COUNT(*) FROM Person p2 WHERE p1.ID = p2.ID) > 1
答案 4 :(得分:0)
试试这个:
选择Person.Id 来自人 按人物分组.Id 有计数(*)= 1