寫好這個sql,竟然發現不知道現在是上午還是下午。看來我真是埋頭寫了乙個多小時沒有分散注意力了。呵呵。寫在部落格記錄一下!
需求:按天統計巡檢的基站數量。
建表sql:
create table plan_vp_stat_patrol_detail(
tid varchar2(40) not null,
patrol_vp_id varchar2(30) not null,
patrol_time date,//巡檢時間
constraint pk_vp_stat_pdetail_id primary key(tid)
);每巡檢一次就傳送一條資料在此表中
表資料:
tid patrol_vp_id patrol_time
1 1 2009-6-16 12:34:34
2 1 2009-6-17 12:38:34
3 2 2009-6-19 12:38:34
4 3 2009-6-16 12:38:34
5 3 2009-6-18 12:38:34
現在要統計6.15-6.21期間內的每天所巡檢的基站數量,某天沒有資料也要顯示為0
select to_date('2009-06-15 00:00:00', 'yyyy-mm-dd hh24:mi:ss') +
(r - 1) begin_time,
to_date('2009-06-15 00:00:00', 'yyyy-mm-dd hh24:mi:ss') + r end_time,
count(p.tid) vp_num
from plan_vp_stat_patrol_detail p right join
(select rownum r from dual connect by level <= 7)
on p.patrol_time between
to_date('2009-06-15', 'yyyy-mm-dd hh24:mi:ss') +
(r - 1) and
to_date('2009-06-15', 'yyyy-mm-dd hh24:mi:ss') + r
group by r
order by begin_time
說明:(select rownum n from dual connect by level <= 7) 7,代表顯示7天資料,從6.15號開始的7天。可以用trunc(to_date('2009-06-21','yyyy-mm-dd')) - trunc(to_date('2009-06-15','yyyy-mm-dd'))+1 函式去取得。
執行結果:
begin_time end_time vp_num
2009-6-15 2009-6-16 0
2009-6-16 2009-6-17 2
2009-6-17 2009-6-18 1
2009-6-18 2009-6-19 1
2009-6-19 2009-6-20 1
2009-6-20 2009-6-21 0
2009-6-21 2009-6-22 0
sql 查詢時間 SQL查詢時間段重合的記錄
問題 查詢某一列 物件時間段重合的記錄time range overlap 資料結構 表demo table,字段如下 字段型別 id.object name 物件 varchar start time 開始時間 datetime end time 結束時間 datetime others 其他字段...
JAVA MONGODB 查詢時間段
雖然mongodb存的時間為utc時間,與中國相差8小時,但是這並不需要客戶端程式做處理。dateformat format new dateformat yyyy mm dd hh mm ss date starttime format.parse 2019 06 17 15 37 08 date...
mysql查詢時間段
閱讀需要 3 分鐘 內容 mysql 時間段查詢 一些時間的型別 及常用時間函式 日期型別 儲存空間 日期格式 日期範圍 datetime 8 bytes yyyy mm dd hh mm ss 1000 01 01 00 00 00 9999 12 31 23 59 59 timestamp 4 ...