SQL唯一结果

时间:2010-03-08 12:40:55

标签: sql

我的查询是:

表名:employee

id(pk) name    salary
1      prasad  1000
2      prasad  2000
3      gopi    3000
4      gopi    3500
5      seenu   2500
6      nag     1000

我想要只获得被seen和唠叨的记录。上表列名称不是唯一的。

5 个答案:

答案 0 :(得分:4)

听起来我想要找到没有重复的记录(即只出现一次的名称):

SELECT *
FROM Employee e
WHERE NOT EXISTS(
       SELECT e2.ID
       FROM Employee e2 
       WHERE e2.name = e.name AND e2.ID <> e.ID)

答案 1 :(得分:3)

这完全取决于你想要匹配的条件。如果您需要这些特定名称,请使用:

select * from employee where name in ('seenu','nag');

如果您希望ID超过4:

select * from employee where id > 4;

如果您想要不重复的名称:

select * from employee group by name having count(*) = 1;

正如您所看到的,根据您的实际需求(可能会更多地充实),有很多种可能性。

答案 2 :(得分:3)

SELECT name 
FROM employee 
GROUP by name
HAVING COUNT(*) = 1;

答案 3 :(得分:1)

在此处使用WHEREIN条款:

SELECT *
FROM employee
WHERE name IN ('seenu', 'nag')

答案 4 :(得分:0)

根据您提供的有限详情,我只能猜测,但我们可以说

SELECT *
FROM employee
WHERE name IN ('seenu','nag')