select month_no,avg(value) vag_value,max(value) max_value,min(value) min_value from table_name where substr(month_no,1,4)='{year}' group by month_no
我們提供的服務(wù)有:網(wǎng)站設(shè)計、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、宜州ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的宜州網(wǎng)站制作公司
{year}是年參數(shù),month_no是月份參數(shù),varchar2型,如果是時間類型,比如load_timeselect to_char(load_time,'yyyymm') month_no,avg(value) vag_value,max(value) max_value,min(value) min_value from table_name where to_char(load_time,'yyyy') ='{year}' group by to_char(load_time,'yyyymm')
寫個大概意思,畢竟我并不知道你的表結(jié)構(gòu)是什么樣的。
你的表格是什么樣的,特別是回見結(jié)構(gòu),如果是“年月日時分秒”結(jié)構(gòu)的,那么首先單獨截取"時"(不是截取年月日時,而是單獨截取時),截取范圍是4,這樣出來的結(jié)果是每天0-4點的所有值。
然后開始考慮分組,你說的是每年每月的平均值,那么分組應該是“年月”,然后再avg一下你要平均的值應該就可以了。
三個月,每月的平均:
select 月份,avg(sum(charge)) from 費用 where 時間 between 1月 and 3月 group by 月份
三個月的總平均:
select avg(sum(charge)) from 費用 where 時間 between 1月 and 3月