重複

2016-09-30 16 views
0

私のクエリがあるなど、全体のリストを返すSQLクエリのうちの1つだけの結果を取得しよう:重複

SELECT * FROM <table> 

これは、次のような結果になります。

 
    ID | Description | Foreign_ID 

    1 | 5060:Stat | 4321 

    2 | 5060:Stat | 4321 

    3 | 7060:Pleb | 5423 

    4 | 5060:Stat | 4321 

    5 | 7070:Pleb | 5423 

    6 | 6509:Stat | 4321 

どのように私は返すことができます私は同じforeign_IDを持つレコードから1レコードしか取得しない?同様:

 
1 | 5060:Stat | 4321 

3 | 7060:Pleb | 5423 

答えて

0

使用distinct on

select distinct on (foreign_id) t.* 
from t 
order by foreign_id; 

これは、任意の行を返します。

SELECT * FROM <Table> GROUP BY Foreign_ID 
0

:あなたは最小idと一つにしたい場合order by

を使用することもできます3210
0

使用distinct on

select distinct on (Foreign_ID) 
ID, Description, Foreign_ID 
from <table> 

あなた:あなたは外国idでグループにしてクエリをGROUPを使用することができます

order by foreign_id, id;