ja:sql:複数行あるデータのみを抽出する
SQLで複数行あるデータのみを抽出する
SQLでDBからデータを取得する際、重複を削除するのはDISTINCT句などで手軽に実現できるが、逆に複数行あるもののみ取得するのがそういったキーワードがなさそうなので、GROUP BY、HAVINGを使用する。
例
テーブル「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