ユーザ用ツール

サイト用ツール


ja:sql:複数行あるデータのみを抽出する

SQLで複数行あるデータのみを抽出する

SQLでDBからデータを取得する際、重複を削除するのはDISTINCT句などで手軽に実現できるが、逆に複数行あるもののみ取得するのがそういったキーワードがなさそうなので、GROUP BYHAVINGを使用する。

テーブル「FOO」にあるカラム「HOGEHOGE」について、重複したもののみ取得したい場合

SELECT
    HOGEHOGE
FROM
    FOO
GROUP BY
    HOGEHOGE
HAVING
    COUNT(HOGEHOGE)>1

解説?

重複を見つけたい列に対してGROUP BYでグルーピングし、グルーピングした結果に対してHAVING「1つよりたくさん存在する」という条件を付加してます。
10件以上存在しているデータのみ、であれば、>1の部分を>10とかにすれば良い。

ja/sql/複数行あるデータのみを抽出する.txt · 最終更新: 2019/10/29 15:32 by makoto