mysql - MySQL/MariaDB 中 PERCENTILE_CONT 的替代方案

标签 mysql oracle mariadb analytic-functions

enter image description here

我想在此表上计算 percentile_cont。 在 Oracle 中,查询将是

SELECT PERCENTILE_CONT(0.05) FROM sometable;

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

最佳答案

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

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 .

关于mysql - MySQL/MariaDB 中 PERCENTILE_CONT 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37804511/

相关文章:

innodb - 为什么 MariaDB 10.2 再次使用 InnoDB 而不是 Percona XtraDB?

使用 REGEXP 条件更新 MySQL

mysql show time slots available 和 time slots busy 来自表

php - 如何解析php中的动态_POST变量

mysql,为这种情况做一个分组

database - oracle中没有 "Cube"函数怎么写查询?

java - 无法重命名表

Oracle APEX 19.2 将应用程序移动到另一台主机

java - Jdbc 数组绑定(bind) : character set encoding

mysql - 如何撤销对包含双引号的用户的授权