當前位置:首頁 » 編程語言 » oraclesql按月統計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oraclesql按月統計

發布時間: 2022-04-25 13:05:44

⑴ 求高手幫寫一sql語句 按月統計的

統計每個id每個月的訪問次數。
SELECT
userid,
SUBSTRING(accessTime,
1,
6)
AS
Expr2,
COUNT(*)
AS
Expr1
FROM
TableA
GROUP
BY
userid,
SUBSTRING(accessTime,
1,
6)
此語句查詢結果:
1000001
201001
2
1000003
201002
2
1000001
201003
1
1000002
201003
1
------------------
你的知查詢和我道的一樣。你想要accessTime,這是不可能的,因為SQL語句中使用了group
by子句,那內么select的欄位只能在group
by的字句里。
你要清楚,你現在做的是統計,不是查明細。如果容查明細的話,再寫一條語句好了。

⑵ oracle資料庫中怎麼查詢當前年每月的天數,按自然月統計,謝謝!

樓上的只統計了一個月的吧

WITHtAS
(SELECTROWNUM
FROMDUAL
CONNECTBYROWNUM<=12)
SELECTTO_CHAR(LAST_DAY(TO_DATE(TO_CHAR(SYSDATE,'YYYY')
||LPAD(TO_CHAR(ROWNUM),2,0),
'YYYYMM'
)
),
'YYYY-MM'
)
||'月',
TO_CHAR(LAST_DAY(TO_DATE(TO_CHAR(SYSDATE,'YYYY')
||LPAD(TO_CHAR(ROWNUM),2,0),
'YYYYMM'
)
),
'DD'
)
||'天'
FROMt

直接全選復制粘貼運行

⑶ oracle 根據裡面欄位的日期統計出每月總金額的sql語句怎麼寫在線等

oracle 根據裡面欄位的日期統計出每月總金額的sql語句怎麼寫在線等
如果是date型

1
2
3

select to_char(createtime,'yyyymm'),sum(totacaccount) from 表名
where to_char(createtime,'yyyy')=to_char(sysdate,'yyyy')
group by to_char(createtime,'yyyymm')

如果是字元型

1
2
3

select substr(createtime,1,7),sum(totacaccount) from 表名
where substr(createtime,1,4)=to_char(sysdate,'yyyy')
group by substr(createtime,1,7)

⑷ 有關按月統計的oracle sql語句怎麼寫急!

笨一點的,把月收入和支出匯成一張大表,收入表的支出欄位為0,支出表的收入為0,再對id,mon group by

select id,mon,sum(sr) amount_in,sum(zc) amount_out,sum(sr-zc) remain from
(
(select id,to_char(poer_date,'yyyy-mm') mon,amount sr,0 zc from acct_in group by to_char(poer_date,'yyyy-mm'))
union all
(select id,to_char(poer_date,'yyyy-mm') mon,0 sr,amount zc from acct_in group by to_char(poer_date,'yyyy-mm'))
)
group by id,mon;

⑸ 求按月查詢統計的sql,oracle

Select 學生編號,性別,case when DatePart('m',年月)=1 then 成績 else 0 end,case when DatePart('m',年月)=2 then 成績 else 0 end,case when DatePart('m',年月)=3 then 成績 else 0 end,case when DatePart('m',年月)=4 then 成績 else 0 end,case when DatePart('m',年月)=5 then 成績 else 0 end,case when DatePart('m',年月)=6 then 成績 else 0 end,case when DatePart('m',年月)=7 then 成績 else 0 end,case when DatePart('m',年月)=8 then 成績 else 0 end,case when DatePart('m',年月)=9 then 成績 else 0 end,case when DatePart('m',年月)=10 then 成績 else 0 end,case when DatePart('m',年月)=11 then 成績 else 0 end,case when DatePart('m',年月)=12 then 成績 else 0 end From 表名

參考下這個

補充:
如果有規律也可以做到,沒有規律就不能這樣處理了
比如你的200901 是2009年1月 200910 是2009年十月 而沒有20091這樣的值出現的話
case when 年月=200901 then 成績 else 0 end 就是一月的了

⑹ oracle資料庫,要做一個安月份的統計。。

Select
地點,
Count(*)總次數,
Sum(CaseWhen狀態='Yes'then1else0end)正常,
Sum(CaseWhen狀態='No'then1else0end)不正常
From
表1
Where
時間Between'2016-06-01'And'2016-06-30'
GroupBy
地點

⑺ Oracle中的SQL查詢語句:如何按照表中不同部門,按照錄入時間分12個月份統計求和。

--希望解決了樓主的問題
select bm,sum(case when to_char(time,'MM')='01' then fz else 0 end ) 1月份fz合計,
sum(case when to_char(time,'MM')='02' then fz else 0 end ) 2月份fz合計,
sum(case when to_char(time,'MM')='03' then fz else 0 end ) 3月份fz合計,
sum(case when to_char(time,'MM')='04' then fz else 0 end ) 4月份fz合計,
sum(case when to_char(time,'MM')='05' then fz else 0 end ) 5月份fz合計,
sum(case when to_char(time,'MM')='06' then fz else 0 end ) 6月份fz合計,
sum(case when to_char(time,'MM')='07' then fz else 0 end ) 7月份fz合計,
sum(case when to_char(time,'MM')='08' then fz else 0 end ) 8月份fz合計,
sum(case when to_char(time,'MM')='09' then fz else 0 end ) 9月份fz合計,
sum(case when to_char(time,'MM')='10' then fz else 0 end ) 10月份fz合計,
sum(case when to_char(time,'MM')='11' then fz else 0 end ) 11月份fz合計,
sum(case when to_char(time,'MM')='12' then fz else 0 end ) 12月份fz合計 from bmfz
group by bm