且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MySQL/MariaDB中PERCENTIAL_CONT的替代

更新时间:2023-02-04 15:37:22

虽然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