タグ

2022年4月9日のブックマーク (1件)

  • 【PostgreSQL】重複行削除で使えるDISTINCT ON - Qiita

    はじめに ある列の重複は削除した上で他の列も含めて取得したいなどのケースで便利なDISTINCT ONという構文がPostgreSQLには存在する。 この構文は標準SQLには存在しないので注意。 標準SQLの普通のDISTINCTは特定の列の重複のみ除外して他の列も取得ということはできず、重複除外に指定するか取得しないかしかできない。 この構文を使用しなければGROUP BYや副問合せを駆使しなければならないのでそれに比べるとかなり直感的に書くことができる。 下記のサンプルテーブルに対して使用していく。 postgres=# create table t1 (c1 int, c2 int); postgres=# insert into t1 values (1, 1), (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 2), (2, 3); pos

    【PostgreSQL】重複行削除で使えるDISTINCT ON - Qiita
    inoueyuworks
    inoueyuworks 2022/04/09
    select distinct on(exp1, exp2, ...) によって、指定された exp たちについてただ一つだけ record を pick して select することが可能