首页 > 解决方案 > 这些值以条形图/直方图的形式分布

问题描述

在 MySQL 数据库中,有一个包含单个数值列的表。我想将这些值的分布绘制为具有以下要求的条形图/直方图:

图表中最多应有 N 个条形(间隔),每个条形的宽度(x 轴范围)应一致,每个条形的高度应反映此间隔中值的数量。条的端点应以整数出现。我知道这是一个相当模糊的要求,但希望下面的示例将说明我的意思是间隔应该是连续的,例如下一个间隔应该从前一个间隔理想地结束的地方开始,应该可以使用单个查询检索数据间隔计数(y 轴值)为 0 是可以的

标签: sqlsql-serversql-server-2008ssms

解决方案


           // intervalCount is what I've referred to as "N"
  static Integer getRoundedIntervalSize(Double min, Double max, Integer 
  intervalCount) {
Number intervalSize = Math.ceil((max - min) / intervalCount)

Integer roundingScale = Math.log10(intervalSize) - 1
Number roundNearest = 10 ** roundingScale

// round up the interval size to the nearest roundNearest
Number intervalDelta = roundNearest - (intervalSize % roundNearest)
intervalSize + intervalDelta

}


推荐阅读