sqlite グループ化したものに条件を指定する

sqlite グループ化したものに条件を指定する

sqliteで、グループ化したものに条件を指定する手順を記述してます。「HAVING」に条件を指定することで可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS windows11 home
  • sqlite 3.37.1
  • DB Browser for SQLite 3.12.2

手順

グループ化したものに条件を指定するには、「HAVING」を使用して条件を設定します。

SELECT カラム名, ... FROM テーブル名 GROUP BY カラム名, カラム名, ... HAVING 条件;

実際に、以下のテーブル「person」というテーブルのカラム「gender」を対象に実行してみます。

まずは、グループ化してみます。
※countを使用するとデータの個数が取得できます。

select 
gender,count(*)
FROM person group by gender;

実行結果

このcountに「2」以上という条件を設定して取得してみます。

select 
gender,count(*)
FROM person group by gender
having count(*) >= 2;

実行結果

group by した結果に条件が指定されていることが確認できます。

通常は「as」を使用して、わかりやすく記述します。

select 
gender,count(*) as c
FROM person group by gender
having c >= 2;