在 MySQL 中使用预定义的 bin 创建直方图
要获取用于绘制直方图的数据,用户通常必须将数值分组到预定义的 bin 中。 SQL 查询可以完成此任务,无需额外的脚本。
考虑以下查询:
<code class="sql">select total, count(total) from faults GROUP BY total;</code>
但是,此查询会生成大量行。要将数据分组到 bin 中,请按照以下步骤操作:
<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中文网其他相关文章!