首页  >  文章  >  数据库  >  如何在 MySQL 中创建具有自定义 bin 大小的直方图?

如何在 MySQL 中创建具有自定义 bin 大小的直方图?

Susan Sarandon
Susan Sarandon原创
2024-10-27 18:51:30763浏览

 How Can I Create Histograms with Custom Bin Sizes in MySQL?

在 MySQL 中使用自定义 bin 大小创建直方图

在 MySQL 中,提取直方图数据通常涉及根据预定义 bin 大小对数据进行分组。虽然可以使用 GROUP BY 子句实现基本分组,但指定自定义的 bin 大小却是一个挑战。但是,一个简单的解决方法可以帮助您实现此目标。

考虑以下 SQL 查询:

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

此查询会生成详细数据,但拥有大量行可能会让人不知所措。要直接在 SQL 中将数据分组到预定义的 bin 中,您可以利用一种简单的方法:

<code class="sql">SELECT ROUND(numeric_value, -2)    AS bucket,
       COUNT(*)                    AS count,
       RPAD('', LN(COUNT(*)), '*') AS bar
FROM   my_table
GROUP  BY bucket;</code>

调整 ROUND 函数中的舍入增量允许您自定义 bin 大小。例如,ROUND(numeric_value, -1) 创建大小为 10 的 bin。通过修改舍入增量和初始偏移量,您可以根据您的特定要求定制 bin 大小。

这里的技巧是使用 ROUND函数具有适当的偏移量,以确保每个 bin 包含大致相同数量的元素。或者,可以使用 TRUNCATE 代替 ROUND。

此解决方案提供了一种方便灵活的方法来在 MySQL 中创建具有自定义 bin 大小的直方图。对于更高级的直方图创建技术,请考虑探索 CASE 语句或其他复杂逻辑以增强灵活性。

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

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