0

utmフィールドとを持つテーブルがありますtracking_idtracking_idそれぞれに多くの がある場合がありますutm。そのため、個別の utm と各 utm のいずれか 1 つのトラッキング ID (最初のものとしましょう) を選択する必要があります。

たとえば、次の表を取得しました。

utm   | tracking_id
-------------------
ddff  |      1
ddff  |      2
llzz  |      3
ddff  |      4
ohoh  |      5
ohoh  |      6

そして、私が取得したい出力として:

utm   | tracking_id
-------------------
ddff  |      1
llzz  |      3
ohoh  |      5

PostgreSQL 9.1 を使用しています。
SQLでそれを行う方法はありますか?

4

2 に答える 2

5
select utm, min(tracking_id)
from t
group by utm
于 2013-09-25T11:28:46.580 に答える
2

単純な集計よりも列が 1 つしかない場合は、Clodoaldo Neto のアドバイスに従ってください。複数の列がある場合は、構文で dictinst を使用できます。

select distinct on(utm)
    utm, tracking_id, column1, column2, ...
from t
order by utm, tracking_id

sql fiddle demo

于 2013-09-25T11:37:43.303 に答える