mysql里获取中位数和四分位数的函数是什么?

  算法/数据结构/数据库 mysql    浏览次数:6525        分享
0

mysql里获取中位数和四分位数的函数是什么?

 

渣渣飞   2019-09-17 08:05



   2个回答 
4

没有特别简单的方法,假设表的名字叫grades,你想得到grades中其中一列grade的中位数,代码如下

SET @rowindex := -1;
 
SELECT
   AVG(g.grade)
FROM
   (SELECT @rowindex:=@rowindex + 1 AS rowindex,
           grades.grade AS grade
    FROM grades
    ORDER BY grades.grade) AS g
WHERE
g.rowindex IN (FLOOR(@rowindex / 2) , CEIL(@rowindex / 2));
SofaSofa数据科学社区DS面试题库 DS面经

okayguy   2019-09-20 07:58

四分位数的话就把@rowindex/2换成@rowindex/4就可以了 - 何立诚   2019-09-26 11:10
0

可以试试substring_index和group_concat这两个函数

SofaSofa数据科学社区DS面试题库 DS面经

赵大胖   2019-09-20 09:01

substring_index和group_concat应该都是处理string,和中位数没关系吧 - cece   2019-09-23 01:55


  相关讨论

mysql里select选择时候需要一列包含特定文本?

mysql怎么对文本字段增加suffixes?

NoSql数据库是什么样的?

sql里的table和view有什么区别?

mysql如何获得某字段的最大值所在行?

SQL里UNION和UNION ALL的区别是什么?

增量表、全量表分别是什么意思

sql怎么对数据表里的一列中文字符串按照拼音顺序排序?

如何在mysql中获取当前日期?

mysql数据库中怎么从一个表里随机抽取k行?

  随便看看

kappa statistic怎么理解?有什么意义?

去掉pandas DataFrame的index的名字

怎么计算(估计)ROC AUC的置信区间?

seaborn如何显示图?

laplace光滑什么意思