Maison >base de données >tutoriel mysql >Comment créer des histogrammes avec des compartiments prédéfinis dans MySQL ?

Comment créer des histogrammes avec des compartiments prédéfinis dans MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 04:49:301065parcourir

How to Create Histograms with Predefined Bins in MySQL?

Création d'histogrammes avec des compartiments prédéfinis dans MySQL

Pour obtenir des données destinées au traçage d'histogrammes, les utilisateurs doivent souvent regrouper les valeurs numériques dans des compartiments prédéfinis. Les requêtes SQL peuvent accomplir cette tâche, éliminant ainsi le besoin de scripts supplémentaires.

Considérez la requête :

<code class="sql">select total, count(total) from faults GROUP BY total;</code>

Cependant, cette requête génère de nombreuses lignes. Pour regrouper les données dans des bacs, suivez ces étapes :

  1. Arrondissez la valeur numérique à la taille de bac souhaitée à l'aide de la fonction ROUND() avec un décalage négatif. Par exemple, pour créer des bacs de taille 10, utilisez : ROUND(total, -1).
  2. Regroupez les valeurs arrondies à l'aide de la clause GROUP BY :
<code class="sql">SELECT ROUND(total, -1) AS bin, COUNT(*) AS count
FROM faults
GROUP BY bin;</code>

Cette requête regroupe les valeurs totales dans des groupes de taille 10 et renvoie le nombre pour chaque groupe.

Exemple :

Considérez les défauts du tableau avec les données suivantes :

total count
30 1
31 2
33 1
34 3
35 2
36 6
37 3
38 2
41 1
42 5
43 1
44 7
45 4
46 3
47 2
49 3
50 2
51 3
52 4
53 2
54 1
55 3
56 4
57 4
58 2
59 2
60 4
61 1
63 2
64 5
65 2
66 3
67 5
68 5

La requête suivante regroupera les valeurs dans des groupes de taille 10 :

<code class="sql">SELECT ROUND(total, -1) AS bin, COUNT(*) AS count
FROM faults
GROUP BY bin;</code>

Sortie :

bin count
30 23
40 15
50 51
60 45

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