oracle日期分組查詢的完整實(shí)例
前言
在做數(shù)據(jù)報(bào)表時(shí),需要對(duì)某一時(shí)間段分組,以1小時(shí)為時(shí)間間隔統(tǒng)計(jì)各項(xiàng)數(shù)據(jù),如9點(diǎn)-10點(diǎn),10點(diǎn)-11點(diǎn)…,但是現(xiàn)在有種情況,時(shí)間有可能不是整點(diǎn)開(kāi)始,會(huì)有半點(diǎn)的情況,9點(diǎn)30,需要按照9點(diǎn)30-10點(diǎn)30,10點(diǎn)30-11點(diǎn)30分組統(tǒng)計(jì)
實(shí)現(xiàn)
以時(shí)間范圍起始時(shí)間作為參照時(shí)間,計(jì)算與其差值(分)/所需時(shí)間間隔(1小時(shí))
得出值作為分組依據(jù)。
例子
select xx,
floor(
floor(
(refDate-to_date('2021-02-05 08:30','yyyy-MM-dd hh24:mi:ss'))
* 24 * 60) / 60
) factor
where refDate >=to_date('2021-02-05 08:30','yyyy-MM-dd hh24:mi:ss')
and refDate <=....
floor:取整用
refDate:每條數(shù)據(jù)中的日期字段
2021-02-05 08:30:參照時(shí)間
factor:算出的分組依據(jù)

以上查詢范圍是21:30-23:30,以21.30作為參照時(shí)間,可將時(shí)間段劃分為21.30-22:30,22:30-23:30。。
在此基礎(chǔ)上查詢時(shí)間所屬時(shí)間段

以上通過(guò) factor/24 含義為間隔一小時(shí), 可以通過(guò)改變這兩個(gè)值任意組合時(shí)間間隔。
總結(jié)
到此這篇關(guān)于oracle日期分組查詢的文章就介紹到這了,更多相關(guān)oracle日期分組查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle 數(shù)據(jù)庫(kù)閃回相關(guān)語(yǔ)句介紹
本文將詳細(xì)介紹oracle 數(shù)據(jù)庫(kù)閃回相關(guān)語(yǔ)句,需要了解跟多的朋友可以參考下2012-11-11
oracle11g 最終版本11.2.0.4安裝詳細(xì)過(guò)程介紹
這篇文章主要介紹了oracle11g 最終版本11.2.0.4安裝詳細(xì)過(guò)程介紹,詳細(xì)的介紹了每個(gè)安裝步驟,有興趣的可以了解一下。2017-03-03
Oracle根據(jù)時(shí)間查詢的一些常見(jiàn)情況匯總
根據(jù)時(shí)間查詢是我們?nèi)粘i_(kāi)發(fā)中經(jīng)常會(huì)遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于Oracle根據(jù)時(shí)間查詢的一些常見(jiàn)情況,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
Oracle數(shù)據(jù)庫(kù)創(chuàng)建用戶與數(shù)據(jù)庫(kù)備份小結(jié)(必看篇)
下面小編就為大家推薦一篇Oracle數(shù)據(jù)庫(kù)創(chuàng)建用戶與數(shù)據(jù)庫(kù)備份小結(jié)。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
實(shí)例講解臨時(shí)處理去重 80w 數(shù)據(jù)時(shí)夯死現(xiàn)象
這篇文章主要介紹了臨時(shí)處理去重 80w 數(shù)據(jù)時(shí)夯死現(xiàn)象,需要的朋友可以參考下2015-09-09
Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解
這篇文章主要介紹了Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解,文中包含大量實(shí)例,以及set autotrace命令對(duì)應(yīng)實(shí)現(xiàn)等內(nèi)容,需要的朋友可以參考下2014-07-07

