oracle分組取前5條資料

2021-08-13 10:47:19 字數 541 閱讀 3018

語句如下:

select *  

from (select t.*,

(row_number() over(partition by 分組字段 order by 排序字段)) rn

from 表名字 t)

where rn < 6;

示例:

select *  

from (select t.*,

(row_number() over(partition by t.type order by t.id)) rn

from tbl_requisition t)

where rn < 6;

意思是:根據tbl_requisition表中的type型別進行分組,取前5條,且這5條資料是根據id排序的

來個截圖(查詢結果)

sql server 分組後,取每組前1條資料

sql 排名開窗函式 row number dense rank rank ntile屬於排名函式。排名開窗函式可以單獨使用order by 語句,也可以和partition by同時使用。partition by用於將結果集進行分組,開窗函式應用於每一組。oder by 指定排名開窗函式的順序。在...

Oracle分組,取每個分組的第一條資料

最近有個有個業務需求 springboot專案集合mybatis 需要查詢分組後,取每組的第一條資料 oracle資料庫 可以在業務 中實現,但是過於繁瑣,後來查閱oracle的函式,得出僅僅在sql中即可實現,非常簡潔,簡化 sql如下 select from select t user.row ...

Oracle分組取前三

oracle分組取前三 row number over函式的基本用法 語法 row number over partition by column order by column 從1開始,為每一條分組記錄返回乙個數字,相當於row num一樣的東西,之後再取最小的幾個 order by是先把列進行...