Sql不显示具有相同名称的记录

时间:2016-06-15 15:27:22

标签: sql database

我有一张包含这些数据的表格:

ID  |  NAME
----------------    
1      Airplane
2      Bus
3      Airplane
4      Train
5      Train

我想只显示具有相同“名称”的记录,例如

  • 飞行
  • 总线
  • 列车

我该怎么做?

3 个答案:

答案 0 :(得分:1)

您可以使用关键字distinct。结果是没有重复的结果集。

SELECT distinct Name FROM table

答案 1 :(得分:0)

这句话令人困惑:

  

我不想只显示具有相同“名称”的记录,例如

你的意思是你要删除重复项吗? 或者你的意思是应该排除重复的行?

两者在SQL中都很容易 - 下面的代码来自SQL Server。

declare @t table(id int, name nvarchar(100));
insert into @t values(1,'Airplane')
insert into @t values(2,'Bus')
insert into @t values(3,'Airplane')
insert into @t values(4,'Train')
insert into @t values(5,'Train')

--remove duplicates
select distinct name from @t

--only show rows that are *not* duplicated
select name from @t group by name having count(*) = 1

答案 2 :(得分:0)

这也是一种简单的方法

SELECT name, COUNT(*)

FROM <table_name>

GROUP BY name

HAVING COUNT(*) > 1