2017-07-12 163 views
0

我有一个表是这样的:查找重复的SQL数据库条目,只显示一个

Name | Text 
----------------------- 
ALM_1234 | Language1 
ALM_1234 | Language2 
ALM_4321 | Language1 
ALM_9876 | Language1 

我需要一个SQL查询显示一个文本重复条目只是一个条目。显示两个文本中的哪一个并不重要。 喜欢这个:

Name | Text 
----------------------- 
ALM_1234 | Language1 
ALM_4321 | Language1 
ALM_9876 | Language1 

任何帮助将不胜感激。

+0

你需要它们在一列或多列上独一无二? – Adam

+0

使用不同于''选择不同*从表'# –

回答

1

使用Group ByMin/Max

Select Name,Min(Text) as Text 
From yourtable 
Group by Name 
+0

为什么Min/Max只是好奇? – Adam

+0

@亚当 - 因为OP已经提到*两个文本中哪一个显示都不重要。* –

+0

@Prdp正是我在找的东西。谢谢! – stefanneumeister

0

使用GROUP BY,因为它会删除所有,但第一任何其他列的

select name, text from table group by name; 
0

尝试使用DISTINCT命令:

SELECT DISTINCT(Name) FROM table_name; 
+0

哪个dbms是? – jarlh

0

在你的查询中使用诸如此类的查询:

Select Text From yourtable Group by Text having count(*)>1 

,如果你想找到重复的查询,你应该使用这一个:

select Name , Text from Yourtable group by Name , Text having count(*)>1 

好运

+0

语法错误,这两个查询。 – jarlh

+0

什么是语法错误? – MSN

+0

包含having子句的括号。 – jarlh

0

不同的条款将工作

select distinct name,text from table 
+0

没有OP想要的东西,seince它会返回所有4行。 – jarlh