示例1: SELECT MIN(kpi_value) OVER (PARTITION BY a.kpi_id,a.brand_id,a.city_id ORDER BY FLOOR( DAYS(a.kpi_date) ) RANGE BETWEEN 1 preceding AND 1 preceding ) as last_value FROM a; 改写为: SELECT (SELECT MIN(kpi_value) FROM kpi_values aa WHERE aa.kpi_id = a.kpi_id AND aa.brand_id = a.brand_id AND aa.city_id = a.city_id AND aa.kpi_date = DATE_SUB(a.kpi_date, INTERVAL 1 DAY)) as last_value FROM a ORDER BY a.kpi_id,a.brand_id,a.city_id,a.kpi_date; 示例2 SELECT MAX(rn) OVER (PARTITION BY product_no,imei ORDER BY first_time) rn FROM a; 改写为: SELECT (SELECT MAX(rn) FROM a aa WHERE aa.product_no = a.product_no AND aa.imei=a.imei AND aa.first_time <= a.first_time) FROM a ORDER BY a.product_no,a.imei,a.first_time;