MySQL/MariaDB中PERCENTIAL_CONT的替代
本教程将介绍MySQL/MariaDB中PERCENTIAL_CONT的替代的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
我要计算此表上的PERCENTIALE_CONT。
在Oracle中,查询将为
SELECT PERCENTILE_CONT(0.05) FROM sometable;
在MariaDB/MySQL中有什么替代方案?
推荐答案
虽然MariaDB10.3.3以窗口函数(see Lukasz Szozda's answer)的形式支持这些函数,但是您也可以使用MySQL8中的窗口函数来模拟它们:
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/MariaDB中PERCENTIAL_CONT的替代的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。