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

Le groupement par peut-il avoir deux conditions ?

PHPz
Libérer: 2024-02-18 14:11:07
original
794 Les gens l'ont consulté

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);
Copier après la connexion

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;
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal