2010-03-08 79 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;