前言
在做數(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)開始,會(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í)間段
以上通過 factor/24 含義為間隔一小時(shí), 可以通過改變這兩個(gè)值任意組合時(shí)間間隔。
總結(jié)
到此這篇關(guān)于oracle日期分組查詢的文章就介紹到這了,更多相關(guān)oracle日期分組查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- oracle日期時(shí)間型timestamp的深入理解
- Oracle 獲取上周一到周末日期的查詢sql語句
- Oracle 函數(shù)大全[字符串函數(shù),數(shù)學(xué)函數(shù),日期函數(shù)]
- Oracle插入日期數(shù)據(jù)常見的2個(gè)問題和解決方法
- oracle查看當(dāng)前日期是第幾個(gè)星期的方法
- Oracle to_char 日期轉(zhuǎn)換字符串語句分享
- 詳解oracle 日期格式(總結(jié))
- oracle 日期時(shí)間函數(shù)使用總結(jié)
- ORACLE 毫秒與日期的相互轉(zhuǎn)換示例
- oracle 日期函數(shù)集合(集中版本)