如何选择从不重复某一列中的数据的行-SQL

时间:2014-11-25 05:15:40

标签: mysql

我有一个只有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查询应该忽略重复名字的所有行。简单的不同查询在这里不起作用,因为它只删除了多个条目。我想要一个可以删除重复名字的所有行的查询。

4 个答案:

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