oracle實現(xiàn)根據(jù)字段分組排序,取其第一條數(shù)據(jù)
更新時間:2023年02月28日 08:41:39 作者:superjr1
這篇文章主要介紹了oracle實現(xiàn)根據(jù)字段分組排序,取其第一條數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
以某個字段分組 取其第一條數(shù)據(jù)
select * ? from (select t.app_id, ? ? ? ? ? ? ? ?t.emp_no, ? ? ? ? ? ? ? ?t.device_id, ? ? ? ? ? ? ? ?t.device_type, ? ? ? ? ? ? ? ?t.last_connect_time, ? ? ? ? ? ? ? ?t.device_model, ? ? ? ? ? ? ? ?rank() over(partition by t.device_type order by t.last_connect_time desc) rankNo ? ? ? ? ? from table_name t) e ?where e.rankNo = 1;
解釋下,上面sql的意思:
rank() over(partition by e.commandid order by e.systemid desc) rankNo ( partition by 根據(jù)什么進行分組, order by 根據(jù)什么進行排序, rank() over() 進行排名 rankNo 別名 )
oracle中對表中數(shù)據(jù)分組排序取最值
首先創(chuàng)建操作表emp

業(yè)務(wù)場景
需要查詢相同部門的員工,按照入職日期排序,并且取出每個部門最新入職的員工信息!
select * from (select t1.*,row_number() over(partition by t1.deptno order by hiredate desc) as row_number from emp t1) where row_number=1
首先會根據(jù)各個部門里面的人員按照入職時間(hiredate)排序,然后取出每個部門排序第一的員工。
效果如下:

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle RAC環(huán)境下的阻塞(blocking blocked)介紹和實例演示
這篇文章主要介紹了Oracle RAC環(huán)境下的阻塞(blocking blocked)介紹和實例演示本文提供了2個查詢腳本,并給出實例演示那些session為阻塞者,哪些為被阻塞者,需要的朋友可以參考下2014-09-09
Oracle數(shù)學(xué)相關(guān)函數(shù)小結(jié)
這篇文章主要介紹了Oracle數(shù)學(xué)相關(guān)函數(shù),實例總結(jié)了Oracle常用的數(shù)學(xué)相關(guān)函數(shù)并給出了相應(yīng)用法示例,需要的朋友可以參考下2016-03-03
oracle復(fù)習(xí)筆記之PL/SQL程序所要了解的知識點
本文主要是前篇文章的續(xù)篇,主要來復(fù)習(xí)PL/SQL的基本語法、記錄類型、流程控制、游標的使用、異常處理機制、存儲函數(shù)/存儲過程、觸發(fā)器。好記性不如爛筆頭,古人誠不欺我~2014-08-08
oracle如何使用java source調(diào)用外部程序
這篇文章主要為大家介紹了oracle如何使用java source調(diào)用外部程序,感興趣的小伙伴們可以參考一下2016-09-09
關(guān)于Oracle12C默認用戶名system密碼不正確的解決方案
這篇文章主要介紹了關(guān)于Oracle12C默認用戶名system密碼不正確的解決方案 ,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10

