Maison  >  Article  >  base de données  >  Le groupement par peut-il avoir deux conditions ?

Le groupement par peut-il avoir deux conditions ?

PHPz
PHPzoriginal
2024-02-18 14:11:07788parcourir

group by可以两个条件吗

Titre : Exemple d'utilisation de GROUP BY pour implémenter un regroupement multi-conditions

Dans les requêtes SQL, l'instruction GROUP BY est généralement utilisée pour regrouper les données par colonnes spécifiques et effectuer des opérations d'agrégation sur chaque regroupement. Cependant, nous devons parfois satisfaire deux conditions en même temps pour le regroupement. Pouvons-nous donc utiliser plusieurs conditions dans l'instruction GROUP BY ? Ensuite, nous répondrons à cette question avec des exemples de code concrets.

Supposons que nous ayons un tableau de données nommé « employés », qui contient des informations sur les employés, notamment leur nom, leur service et leur salaire. Nous devons maintenant regrouper les employés par département et par sexe et calculer le salaire moyen pour chaque groupe.

Tout d'abord, créons un exemple de tableau de données et insérons quelques données :

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);

Maintenant, nous pouvons utiliser l'instruction de requête suivante pour regrouper par département et par sexe et calculer le salaire moyen :

SELECT department, gender, AVG(salary) AS average_salary
FROM employees
GROUP BY department, gender;

GROUP dans l'instruction de requête ci-dessus The BY La clause utilise deux champs : département et sexe. Il indique à la base de données de regrouper les données par une combinaison de ces deux champs. Nous utilisons ensuite la fonction AVG pour calculer le salaire moyen pour chaque groupe et le nommons « average_salary ».

Après avoir exécuté l'instruction de requête ci-dessus, nous obtiendrons les résultats suivants :

部门      性别      平均工资
-------------------------
销售部    男       5250.00
销售部    女       4800.00
财务部    女       6000.00
财务部    男       6500.00
技术部    男       7000.00
技术部    女       5500.00

Comme le montrent les résultats, les données sont d'abord regroupées par le champ "département", puis regroupées par le champ "sexe" au sein de chaque département. De cette façon, nous réalisons la nécessité d’utiliser plusieurs conditions pour le regroupement.

Pour résumer, nous pouvons utiliser plusieurs conditions dans l'instruction GROUP BY pour le regroupement. En utilisant plusieurs champs dans la clause GROUP BY, nous pouvons regrouper les données en fonction de combinaisons de ces champs et effectuer des opérations d'agrégation sur chaque groupe. Dans l'exemple ci-dessus, nous avons montré comment utiliser GROUP BY pour regrouper par département et par sexe et calculer le salaire moyen.

J'espère que cet article vous aidera à comprendre comment utiliser GROUP BY pour le regroupement multi-conditions dans les requêtes SQL. Si vous avez d'autres questions, n'hésitez pas à les poser.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn