sql >> Databáze >  >> RDS >> Oracle

SQL trunc/group/uspořádání podle dat (den/měsíc/čtvrtletí/rok) s daty přeskočení součtu bez dat

Zkuste něco takového (zjednodušený příklad):

with 
months_int as
(select trunc(min(inc_date), 'MM') min_month, trunc(max(inc_date), 'MM') max_month
 from data),
months as
(
  select add_months(min_month, level-1) mnth_date
  from months_int 
  connect by add_months(min_month, level-1)<= max_month
  )
select  mnth_date, sum(cnt) 
from data  right outer join months on trunc(inc_date, 'MM') = mnth_date
group by mnth_date
order by mnth_date

Zde je příklad sqlfiddle



  1. Vyberte TOP X (nebo dolní) procento pro číselné hodnoty v MySQL

  2. Knihovny MySQL a MariaDB v C++ pomocí cmake, mingw

  3. Jaké jsou výhody spolupráce se společností na podporu přístupu?

  4. SQL WHERE řetězec LIKE pole