首页  >  文章  >  数据库  >  如何在 MySQL 中使用预定义的 bin 创建直方图?

如何在 MySQL 中使用预定义的 bin 创建直方图?

Linda Hamilton
Linda Hamilton原创
2024-10-31 04:49:30990浏览

How to Create Histograms with Predefined Bins in MySQL?

在 MySQL 中使用预定义的 bin 创建直方图

要获取用于绘制直方图的数据,用户通常必须将数值分组到预定义的 bin 中。 SQL 查询可以完成此任务,无需额外的脚本。

考虑以下查询:

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

但是,此查询会生成大量行。要将数据分组到 bin 中,请按照以下步骤操作:

  1. 使用带有负偏移量的 ROUND() 函数将数值舍入到所需的 bin 大小。例如,要创建大小为 10 的 bin,请使用:ROUND(total, -1)。
  2. 使用 GROUP BY 子句对舍入值进行分组:
<code class="sql">SELECT ROUND(total, -1) AS bin, COUNT(*) AS count
FROM faults
GROUP BY bin;</code>

此查询将总计值分组到大小为 10 的 bin 中,并返回每个 bin 的计数。

示例:

考虑包含以下数据的表错误:

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

以下查询将把值分组到大小为 10 的容器中:

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

输出:

bin count
30 23
40 15
50 51
60 45

以上是如何在 MySQL 中使用预定义的 bin 创建直方图?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn