facebook twitter youtube
Salesforce Java Android PHP JavaScript MySQL Perl node.js HTML iOS
in PostgreSQL - 25 9月, 2016
by moko - no comments
distinct onで重複なしのレコードを取得

postgres独自のdistinct on 構文について
distict onを用いることで指定したカラムごとの最初に出てきた最初のレコードを持ってくることができます。
結果見た方が分かりやすいので下記ご覧ください!

【通常】

select
	*
from
	testm
order by data1,key asc
key data1 data2
1 2 1
2 2 2
3 3 2
4 3 1
5 5 2
6 5 1
7 8 1
8 8 2

【distinct on】

select
	distinct on (data1)
	data1,
	data2
from
	testm
order by data1, key asc
;
data1 data2
2 1
3 2
5 2
8 1