SQLグループクエリーGroupByとhaving

1181 ワード

一.グループクエリー
概要:
「Group By」は文字通り「By」で指定されたルールに従ってデータをグループ化し、いわゆるグループ化は1つの「データセット」を複数の「小領域」に分割し、複数の「小領域」に対してデータ処理を行う.
1.groupbyを使用したパケットクエリーgroupbyキーワードを使用する場合、selectリストで指定できる項目は制限されています.select文には以下の項目しかありません.「パケットされた列」は、パケットごとに値式を返します.例えば、1つの列名をパラメータとする集約関数groupbyの使用は、いくつかの例を書きます.例:select courseID、avg(score)asカリキュラム平均成績from scoregroup by courseID例:select studentID as学習者番号、courseID as内部テスト、avg(score)as内部テスト平均成績from scoregroup by studentID、courseID 2.having句によるパケットフィルタリング
  • where句の役割は、クエリ結果をグループ化する前に、where条件に合致しない行を削除することです.すなわち、グループ化する前にデータをフィルタリングします.where条件にはグループ化関数を含めることができず、where条件を使用して特定の行をフィルタリングします.
  • 例:select studentID as学習者番号、courseID as内部テスト、avg(score)as内部テスト平均成績from scoregroup by studentID、courseIDhaving avg(score)>60
    3.使用上の注意
    select   , sum(  ) as     ,   
    from A
    group by   
    order by    desc

    例3では、selectで指定したフィールドがグループ化の根拠としてGroupBy文の後に含まれるか、集約関数に含まれるかのいずれかのエラーが表示されます.
    select文では、where、groupby、having句および統計関数の実行順序は、where句がデータソースから検索条件に合致しないデータを削除し、groupby句がデータ行を収集して各グループに統計関数を計算し、having句がそのグループの検索条件に合致しない各グループのデータ行を削除する.