选择Table Row Count = 1的ID

时间:2011-02-10 16:11:09

标签: sql

我正在尝试做一些看似简单的事情。

我想从人员中的行数= 1的表人返回一个列值(id)。

类似于:

SELECT Person.Id
FROM (select Count(*) from Person Having Count(*)=1);

但它不起作用..任何帮助都非常赞赏。

5 个答案:

答案 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