Maison > base de données > tutoriel mysql > Comment regrouper des données par plages à l'aide de la clause GROUP BY de SQL ?

Comment regrouper des données par plages à l'aide de la clause GROUP BY de SQL ?

DDD
Libérer: 2025-01-17 21:17:10
original
665 Les gens l'ont consulté

How to Group Data by Ranges Using SQL's GROUP BY Clause?

Regrouper les données par plage à l'aide de la clause GROUP BY de SQL

La clause "GROUP BY" dans SQL nous permet d'agréger les données en groupes basés sur des colonnes spécifiées. Lorsque vous travaillez avec des données numériques, il est utile de regrouper les valeurs en plages à des fins d'analyse et de reporting.

Question :

Comment "regrouper" par plage en SQL ?

Réponse :

Pour regrouper les valeurs par plage, vous pouvez utiliser la syntaxe suivante :

<code class="language-sql">SELECT
  CASE
    WHEN value BETWEEN start AND end THEN 'range_name'
    -- 为其他范围添加更多情况
  END AS range,
  COUNT(*) AS count
FROM table_name
GROUP BY range;</code>
Copier après la connexion

Instructions :

  • L'instruction CASE classe chaque valeur dans une plage.
  • L'opérateur BETWEEN vérifie si la valeur se situe dans la plage spécifiée.
  • La clause GROUP BY regroupe les résultats par plage de valeurs.
  • La fonction
  • COUNT(*) compte le nombre d'occurrences dans chaque plage.

Exemple :

Considérons l'exemple suivant de regroupement des scores en plages :

<code class="language-sql">SELECT
  CASE
    WHEN score BETWEEN 0 AND 9 THEN '0-9'
    WHEN score BETWEEN 10 AND 19 THEN '10-19'
    ELSE '20-99' -- 处理大于或等于20的分数
  END AS score_range,
  COUNT(*) AS count
FROM scores
GROUP BY score_range;</code>
Copier après la connexion

Cette requête produira le résultat suivant :

score_range count
0-9 11
10-19 14
20-99 3

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