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
DDDoriginal
2025-01-17 21:17:10616parcourir

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>

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>

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!

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