2016-06-15 18 views
0

私は、このデータを持つテーブルがあります:私は同じ「名前」を持つレコードのみを表示したいSQLは、同じ名前を持つレコードを表示しない

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

  • 飛行機
  • などを
  • バス
  • 電車

私はこれをどのように行うことができますか?

+0

「名前」列と一意のデータのみを表示しますか? – baquiax

+0

[SQL:1つの列から異なる値を選択](SQLの場合は、http://stackoverflow.com/questions/1918556/sql-select-distinct-values-from-1-column) – Liam

+0

データベースの複製は可能ですか? MySQL、SQL Server?オラクル? Postgresql?何か? – JosephStyons

答えて

1

キーワードdistinctを使用できます。結果は重複のない結果セットです。

SELECT distinct Name FROM table 
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 
+0

しかしそれを示す方法???私のテーブルには3つの列があり、 "名前"列にのみ "distinct"を使用したいと考えています。 値( "id")と値( "姓") - 他の列の名前 - は機能しません! – Pelandro

+0

@Pelandroあなたはいくつかのサンプル入力と出力を提供できますか?これらの行で「他の列」が異なる場合、どちらを選択する必要がありますか? – JosephStyons

+0

私は解決策を見つけました。2つを1つずつループして、必要なすべてのレコードを表示します。最初のループはDISTINCTで、2番目のループはありません!ありがとう! – Pelandro