SELECT * FROM (SELECT mu.*,Row_number() over(PARTITION BY mu.prov_code ORDER BY mu.prov_code) rn FROM mvno_user mu) where rn <= 2;
在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where group by order by 的执行。
partition by 是数据的分区取数,用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,它和聚合函数不同的地方在于它能够返回一个分组中的多条记录,而聚合函数一般只有一个反映统计值的记录。