select nvl(sum(synnum),0) value ,to_char(syntime, 'yyyy-MM-dd') lable from synlog where syntype in (4, 5, 6) and trunc(syntime) > trunc(sysdate) - 30 group by to_char(syntime, 'yyyy-MM-dd') ;
目前此資料 只能得到一條
希望日期可以從當天擴展為30條 日期自動補全
目前查詢的資料為
value lable
465 2017-12-19
我希望是
value lable
0 2017-12-20
465 2017-12-19
0 2017-12-18
........
0 2017-11-20
共30條
uj5u.com熱心網友回復:
表資料和欄位貼出來uj5u.com熱心網友回復:
生成一張日期的中間表(可以寫成臨時表),做主表,然后 左連接 你的表
以日期中間表的日期 左關聯 你的表 日期 ,
select date,sum from 表a,表b where a.date=b.date group by 中間表的日期
uj5u.com熱心網友回復:
with t1 as(
select level as id, to_date('2017-12-19','yyyy-mm-dd')+2 - level as date1 from dual
connect by level<6)
,t2(value,lable) as(
SELECT 1 AS "value", trunc(sysdate)as lable from dual
union all
SELECT 9 AS "value", trunc(sysdate-4)as lable from dual)
select t1.date1, NVL(t2.value,0) AS value1 from t1 left join t2 on t1.date1=t2.lable ORDER BY DATE1
/*
DATE1 VALUE1
1 2017/12/16 9
2 2017/12/17 0
3 2017/12/18 0
4 2017/12/19 0
5 2017/12/20 1
*/
把 T2里面的改成你的查詢就可以
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/76444.html
標籤:基礎和管理
上一篇:Oracle資料庫JDBC連接出現的問題: java.net.ConnectException: Connection refused: connect
下一篇:oracle11g 審計
