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

2021-10-08 01:50:49 字數 536 閱讀 6373

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

select

*from

( select

t_user.*,

row_number () over (partition by deptno order by sal desc ) rn

from

t_user

)where

rn = 1;

over:在什麼條件之上。

partition by deptno:按部門編號劃分(分割槽)。

order by e.sal desc:按工資從高到低排序

Oracle分組取前三

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

如何取每個分組中的前幾項輸出

分析 1.首先要求的每個維度是城市 關鍵字 根據城市和關鍵字分組求出數量 2.要找到前五輸出,想到row number 開窗函式 實現如下 select from select city,keyss,count row number over partition by city order by c...

oracle分組排序取前幾

專案需求 分組排序 1 要求取出按field1分組後,並在每組中按照field2排序 2 根據要求取出1中已經分組排序好的前多少行的資料 row number over partition by col1 order by col2 表示根據col1分組,再分組內部根據col2排序,而此函式計算的值...