⑴ 求高手幫寫一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