グループ数によるフィルタリング
SQL では、結果をグループ化し、各グループ内の行数に基づいてフィルタリングすることができます。これは、HAVING 句を使用して実現できます。
次の要件を考慮してください:
問題ステートメント:
結果をグループ化することは可能ですか?次に、グループ内の行数でフィルターしますか?例:
SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY nameログイン後にコピー
解決策:
HAVING 句を使用すると、集計関数にフィルターを適用できます。この場合、COUNT(*) 集計関数でフィルタリングして、複数の行を持つグループを選択できます。正しい構文は次のとおりです:
SELECT name, COUNT(*) FROM mytable GROUP BY name HAVING COUNT(*) > 1
このクエリは、すべての一意の名前と、各名前に関連付けられた行数 (カウントは 1 より大きい) を返します。
以上がSQL は行数に基づいてグループ化された結果をフィルタリングできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。