ホームページ >データベース >mysql チュートリアル >グループ内の行数に基づいて SQL クエリ結果をフィルタリングするにはどうすればよいですか?
カウントによるフィルタリング: 集計クエリ フィルタリングに HAVING を使用する
SQL では、一致する行の数に基づいてデータをフィルタリングできます。特定の基準。これを実現するには、HAVING 句を COUNT(*) などの集計関数と組み合わせて利用できます。
質問:
結果をグループ化し、数値でフィルターできますか?グループ内の行数は?例:
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name
答え:
COUNT(*) のような集計関数に基づいてフィルタリングするには、WHERE 句の代わりに HAVING 句を使用する必要があります。 。 HAVING 句は、集計後のデータ グループをフィルタリングするために特別に設計されています。
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
このクエリは、'mytable' テーブル内の行を 'name' 列でグループ化し、その数を計算します。各グループ。次に、結果をフィルタリングして、カウントが 1 より大きいグループのみを含めます。
以上がグループ内の行数に基づいて SQL クエリ結果をフィルタリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。