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 是數據的分區取數,用於給結果集分組,如果沒有指定那麼它把整個結果集作爲一個分組,它和聚合函數不同的地方在於它能夠返回一個分組中的多條記錄,而聚合函數一般只有一個反映統計值的記錄。