我想在此表上计算 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;
关于mysql - MySQL/MariaDB 中 PERCENTILE_CONT 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37804511/