oracle/mysql數(shù)據(jù)庫(kù)多條重復(fù)數(shù)據(jù)如何取最新的
MYSQL
1、分組取最新的,再用最新的字段連表,回查數(shù)據(jù)
①按分組字段取最新的,通過(guò)主鍵id回表查數(shù)據(jù)
select * from table_name WHERE id in ( select max(id) id from table_name GROUP BY 分組字段)
②非主鍵字段
SELECT r.* FROM records r INNER JOIN ( SELECT group_id, MAX(timestamp) as latest FROM records GROUP BY group_id ) as latest_records ON r.group_id = latest_records.group_id AND r.timestamp = latest_records.latest;
ORACLE
1、原理講解-可直接看2
篩選出最新的
SELECT * FROM ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY LOCALAUTHID ORDER BY LASTUPDATETIME DESC) AS rn FROM USER_LOCALAUTH_STATE t ) t WHERE t.rn = 1;
解釋:
這個(gè)序號(hào)是基于[LOCALAUTHID]字段進(jìn)行分區(qū)的(即每個(gè)[LOCALAUTHID]值都是一個(gè)新的分區(qū)),并且在每個(gè)分區(qū)內(nèi)部,行是按照LASTUPDATETIME字段降序排列的
2、在重復(fù)數(shù)據(jù)取最新的
SELECT * FROM ( SELECT t.*,ROW_NUMBER() OVER (PARTITION BY LOCALAUTHID ORDER BY LASTUPDATETIME DESC) AS rn FROM ( -- 篩選存在重復(fù)的數(shù)據(jù),count(LOCALAUTHID) > 1 select * from USER_LOCALAUTH_STATE where LOCALAUTHID in ( SELECT LOCALAUTHID FROM USER_LOCALAUTH_STATE WHERE STATE = 1 AND BUSINESSTYPE=1 group by LOCALAUTHID having count(LOCALAUTHID) > 1) ) t ) rt WHERE rt.rn = 1;
3、若要?jiǎng)h除不滿足條件
在2的基礎(chǔ)上,通過(guò)[LOCALAUTHID]查詢,并刪除ID不再2中的
附:ORACLE 查詢某個(gè)時(shí)間之前的重復(fù)數(shù)據(jù)中時(shí)間最早的一條記錄
接到任務(wù),查詢2021年之前的US_ADDCONSIGN表中用戶信息。
同時(shí)同事告知,有用戶重復(fù)注冊(cè)所以信息有重復(fù)的,要求重復(fù)的信息中獲取目前仍有效,且注冊(cè)時(shí)間最早的那一條記錄。
select * from (select row_number() over (partition by certno order by consigndate) rn, a.* from US_ADDCONSIGN a where 1=1 and state=1 ) where rn=1 and to_date(consigndate,'yyyymmdd')<to_date('20210101','yyyymmdd');
總結(jié)
到此這篇關(guān)于oracle/mysql數(shù)據(jù)庫(kù)多條重復(fù)數(shù)據(jù)如何取最新的文章就介紹到這了,更多相關(guān)sql多條重復(fù)數(shù)據(jù)取最新內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL數(shù)據(jù)庫(kù)中刪除重復(fù)記錄的方法總結(jié)[推薦]
- sqlserver中重復(fù)數(shù)據(jù)值只取一條的sql語(yǔ)句
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- mysql查找刪除重復(fù)數(shù)據(jù)并只保留一條實(shí)例詳解
- MySQL根據(jù)某一個(gè)或者多個(gè)字段查找重復(fù)數(shù)據(jù)的sql語(yǔ)句
- mysql數(shù)據(jù)庫(kù)刪除重復(fù)數(shù)據(jù)只保留一條方法實(shí)例
- Mysql?刪除重復(fù)數(shù)據(jù)保留一條有效數(shù)據(jù)(最新推薦)
相關(guān)文章
MySQL防止delete命令刪除數(shù)據(jù)的兩種方法
在sql中刪除數(shù)據(jù)庫(kù)中記錄我們會(huì)使用到delete命令,這樣如果不小心給刪除了很難恢復(fù)了,下面我來(lái)總結(jié)一些刪除數(shù)據(jù)但是不在數(shù)據(jù)庫(kù)刪除的方法,有需要的朋友可以參考一下2013-08-08MySQL數(shù)據(jù)庫(kù)函數(shù)之JSON_EXTRACT示例代碼
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)函數(shù)之JSON_EXTRACT的相關(guān)資料,JSON_EXTRACT()函數(shù)用于從JSON文檔中提取值,支持對(duì)象屬性、數(shù)組元素和嵌套結(jié)構(gòu)的訪問(wèn),示例展示了如何提取簡(jiǎn)單值、嵌套值和數(shù)組中的值,需要的朋友可以參考下2025-02-02完美解決phpstudy安裝后mysql無(wú)法啟動(dòng)(無(wú)需刪除原數(shù)據(jù)庫(kù),無(wú)需更改任何配置,無(wú)需更改端口)直接共存
這篇文章主要介紹了完美解決phpstudy安裝后mysql無(wú)法啟動(dòng)(無(wú)需刪除原數(shù)據(jù)庫(kù),無(wú)需更改任何配置,無(wú)需更改端口)直接共存 ,需要的朋友可以參考下2019-04-04mac安裝mysql數(shù)據(jù)庫(kù)及配置環(huán)境變量的圖文教程
本文主要介紹了mac安裝mysql數(shù)據(jù)庫(kù)及配置環(huán)境變量,文中通過(guò)圖文代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08