DISTINCT ON の使い方

グループごとの先頭の 1 行

書き方

SELECT DISTINCT ON (列) … ORDER BY 列, 並べ方;

ORDER BY で並べたときの、各グループの最初の行だけを残します(PostgreSQL)。

例

SELECT DISTINCT ON (customer_id) * FROM orders ORDER BY customer_id, ordered_at DESC;

実際に打って練習する

PostgreSQL コースの Lv12「グループの先頭 DISTINCT ON」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜2 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

PostgreSQL の構文一覧(psql・JSONB・PL/pgSQL)へ戻る