我有一个只有4行的表。
FIRST LAST AGE
luke david 42
jester prince 32
luke mike 16
sean paul 22
我想只选择那些从不重复名字的行。所以我需要的结果是
FIRST LAST AGE
jester prince 32
sean paul 22
sql查询应该忽略重复名字的所有行。简单的不同查询在这里不起作用,因为它只删除了多个条目。我想要一个可以删除重复名字的所有行的查询。
答案 0 :(得分:1)
TRY
SELECT * FROM `tbl_name` GROUP BY(`name`) HAVING COUNT(`name`) = 1
答案 1 :(得分:0)
如果distinct不起作用,您可以使用group by
SELECT * FROM Table GROUP BY FIRST
答案 2 :(得分:0)
您可以使用NOT IN
子句,如下所示:
SELECT * FROM table1
WHERE first NOT IN (
SELECT first FROM table1
GROUP BY first
HAVING COUNT(*) > 1
)
内部查询查找所有重复的名字,然后使用NOT IN子句从最终结果中删除那些重复的名字。
答案 3 :(得分:0)
select FIRST, LAST, AGE
from MY_TABLE
group by FIRST
HAVING count(FIRST) = 1