使用MYSQL计算百分位数

时间:2017-04-09 21:56:23

标签: mysql percentile

我想计算MYSQL中的百分位数。请告诉我这是计算百分位数的正确方法。

<span> caption for img 2 </span>

1 个答案:

答案 0 :(得分:0)

我试图解决这个问题很长一段时间,然后我找到了以下答案。老实说。即使对于大桌子也很快(我使用它的桌子包含大约5密耳的记录,需要几秒钟)。

SELECT
 CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(
  GROUP_CONCAT(field_name ORDER BY field_name SEPARATOR ','),
   ',', 95/100 * COUNT(*) + 1), ',', -1) AS DECIMAL) AS '95th Per'
 FROM table_name;

您可以想象只需将table_name和field_name替换为表和列的名称。

有关详细信息,请查看Roland Bouman的原始帖子