ホームページ >データベース >mysql チュートリアル >group by には 2 つの条件を指定できますか?
タイトル: GROUP BY を使用して複数条件グループ化を実装する例
SQL クエリでは、GROUP BY ステートメントは通常、特定の列と集計によってデータをグループ化するために使用されます。操作はグループごとに実行されます。ただし、グループ化のために 2 つの条件を同時に満たす必要がある場合があるため、GROUP BY ステートメントで複数の条件を使用できますか?次に、具体的なコード例を使用してこの質問に答えます。
「employees」という名前のデータ テーブルがあり、名前、部門、給与などの従業員情報が含まれているとします。次に、従業員を部門と性別ごとにグループ化し、各グループの平均給与を計算する必要があります。
まず、サンプル データ テーブルを作成し、いくつかのデータを挿入しましょう:
CREATE TABLE employees ( name VARCHAR(50), department VARCHAR(50), gender VARCHAR(10), salary DECIMAL(10, 2) ); INSERT INTO employees VALUES ('张三', '销售部', '男', 5000), ('李四', '销售部', '男', 5500), ('王五', '销售部', '女', 4800), ('赵六', '财务部', '女', 6000), ('刘七', '财务部', '男', 6500), ('陈八', '技术部', '男', 7000), ('许九', '技术部', '女', 5500);
次に、次のクエリ ステートメントを使用して部門と性別ごとにグループ化し、平均給与を計算します。
SELECT department, gender, AVG(salary) AS average_salary FROM employees GROUP BY department, gender;
上記のクエリ ステートメントの GROUP BY 句では、部門と性別という 2 つのフィールドが使用されています。これら 2 つのフィールドの組み合わせによってデータをグループ化するようにデータベースに指示します。次に、AVG 関数を使用して各グループの平均給与を計算し、「average_salary」という名前を付けます。
上記のクエリ ステートメントを実行すると、次の結果が得られます。
部门 性别 平均工资 ------------------------- 销售部 男 5250.00 销售部 女 4800.00 财务部 女 6000.00 财务部 男 6500.00 技术部 男 7000.00 技术部 女 5500.00
結果からわかるように、データはまず「部門」フィールドに従ってグループ化され、次に「性別」フィールドによるグループに従って、各部門内で。このようにして、グループ化には複数の条件を使用する必要があることがわかります。
要約すると、GROUP BY ステートメントで複数の条件を使用してグループ化できます。 GROUP BY 句で複数のフィールドを使用すると、これらのフィールドの組み合わせに従ってデータをグループ化し、各グループに対して集計操作を実行できます。上の例では、GROUP BY を使用して部門および性別ごとにグループ化し、平均給与を計算する方法を示しました。
この記事が、SQL クエリでの複数条件のグループ化に GROUP BY を使用する方法を理解するのに役立つことを願っています。他にご質問がございましたら、お気軽にお問い合わせください。
以上がgroup by には 2 つの条件を指定できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。