2010-03-08 85 views
0

我的查询是:SQL的独特成果

表名:employee

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

我想只得到西努和老马纪录。上表列名称不是唯一的。

+0

格式的表视图,以便我们可以清楚地看到它,http://stackoverflow.com/editing-help – Adnan 2010-03-08 12:43:08

+1

你需要指定的条件更好。你想要_specific_名称,你想要大于4的ID,你想不重复的名称? – paxdiablo 2010-03-08 12:48:22

回答

1

使用WHEREIN条款这里:

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

从您提供的limitted细节,我只能quess,但可以说

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

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

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

这完全取决于您试图匹配的条件。如果你想那些特定的名称,使用方法:

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

如果你想标识上述4:

select * from employee where id > 4; 

如果你想不重复的名字:

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

正如你所看到的,有很多种可能性,这取决于你的实际需求(应该充实一点)。

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