首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL/MariaDB中PERCENTILE_CONT的替代方案

MySQL/MariaDB中PERCENTILE_CONT的替代方案
EN

Stack Overflow用户
提问于 2016-06-14 14:30:45
回答 2查看 4.6K关注 0票数 3

我想在这张表上计算percentile_cont。在Oracle中,查询将为

代码语言:javascript
复制
SELECT PERCENTILE_CONT(0.05) FROM sometable;

它在MariaDB/MySQL中的替代方案是什么?

EN

回答 2

Stack Overflow用户

发布于 2019-01-28 17:50:26

虽然MariaDB 10.3.3以窗口函数(see Lukasz Szozda's answer)的形式支持这些函数,但您也可以使用MySQL 8中的窗口函数来模拟它们:

代码语言:javascript
复制
SELECT DISTINCT first_value(matrix_value) OVER (
  ORDER BY CASE WHEN p <= 0.05 THEN p END DESC /* NULLS LAST */
) x,
FROM (
  SELECT
    matrix_value,
    percent_rank() OVER (ORDER BY matrix_value) p,
  FROM some_table
) t;

I've blogged about this more in detail here

票数 3
EN

Stack Overflow用户

发布于 2016-06-15 22:59:14

在MariaDB或MySQL中都没有内置的函数,因此您必须在SQL级别上解决这个问题(或者通过添加一个用C语言编写的用户定义函数……)。

这可能有助于提出SQL解决方案:

http://rpbouman.blogspot.de/2008/07/calculating-nth-percentile-in-mysql.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37804511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档