SQL进阶技巧:给定数字的频率查询中位数 | 中位值计算问题
目录
0 需求描述
1 数据准备
2 问题分析
方法1:按照频率将num值展开,转换成明细表,利用中位值公式 求解
abs(rn - (cnt+1)/2) < 1
方法2:中位值定义
3 小结
0 需求描述
num表:
Column Name | Type |
---|---|
num | int |
frequency | int |
- num 是这张表的主键(具有唯一值的列)。
- 这张表的每一行表示某个数字在该数据库中的出现频率。
中位数 是将数据样本中半数较高值和半数较低值分隔开的值。
编写解决方案,解压 num 表,报告数据库中所有数字的 中位数 。
结果四舍五入至 一位小数 。