語句如下:
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是先把列進行...