oracle - Sum Every N Records SQL -


i have query, returns (right below 'query results') grouped date(varchar), , values. vehicles have passed toll plazas.

select substr(cab_momento,1,12), sum(case when comvsauto = '1' , nome in ('sul','oeste') 1 else 0 end)  sul_oeste_auto, sum(case when comvsauto = '0' , nome in ('sul','oeste') 1 else 0 end)  sul_oeste_com, sum(case when comvsauto = '1' , nome in ('norte','leste') 1 else 0  end) norte_leste_auto, sum(case when comvsauto = '0' , nome in ('norte','leste') 1 else 0  end) norte_leste_com (select a.idtransaccion, a.cab_momento, a.cab_via, a.comvsauto, b.nome (select idtransaccion, cab_momento, cab_via, cab_estacion estacion, case ctl_clase when '01' 1 when '07' 1 when '08' 1 else 0 end comvsauto usrhost.atransaccion cab_momento > '20170818000000') inner join (select sen.estacion estacion, via.via via, sen.nome nome  usrhost.aestacion_sentido sen inner join usrhost.avia via on sen.estacion = via.estacion , substr(via.via,3,1) = sen.sentido order 1,2) b on b.via = a.cab_via , b.estacion = a.estacion) group substr(cab_momento,1,12) order 1 

i need sum every 15 minutes (1st column).

for example: minute x minute y - 1231 | 12314 | 1241 | 21415 minute x+15 minute y+15 - 1111 | 13344 | 1345 | 22455 ...

thank in advance

query results

work it! thank much.

select substr(cab_momento,1,10) ||' '||    case when to_number(substr(cab_momento,11,2)) < 15 '00-15'         when to_number(substr(cab_momento,11,2)) < 30 '15-30'         when to_number(substr(cab_momento,11,2)) < 45 '30-45'         else '45-00'    end time_period, sum(sul_oeste_auto),  sum(sul_oeste_com),sum(norte_leste_auto), sum(norte_leste_com) (  select substr(cab_momento,1,12) cab_momento, sum(case when comvsauto = '1' , nome in ('sul','oeste') 1 else 0 end)  sul_oeste_auto, sum(case when comvsauto = '0' , nome in ('sul','oeste') 1 else 0 end)  sul_oeste_com, sum(case when comvsauto = '1' , nome in ('norte','leste') 1 else 0  end) norte_leste_auto, sum(case when comvsauto = '0' , nome in ('norte','leste') 1 else 0  end) norte_leste_com (select a.idtransaccion, a.cab_momento, a.cab_via, a.comvsauto, b.nome (select idtransaccion, cab_momento, cab_via, cab_estacion estacion, case ctl_clase when '01' 1 when '07' 1 when '08' 1 else 0 end comvsauto usrhost.atransaccion cab_momento > '20170818000000') inner join (select sen.estacion estacion, via.via via, sen.nome nome  usrhost.aestacion_sentido sen inner join usrhost.avia via on sen.estacion = via.estacion , substr(via.via,3,1) = sen.sentido order 1,2) b on b.via = a.cab_via , b.estacion = a.estacion) group substr(cab_momento,1,12) order 1) group  substr(cab_momento,1,10),case when  to_number(substr(cab_momento,11,2)) < 15 '00-15'         when to_number(substr(cab_momento,11,2)) < 30 '15-30'         when to_number(substr(cab_momento,11,2)) < 45 '30-45'         else '45-00'    end  

order 1


Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -