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

Jak rozložit průměr mezi dva intervaly v orákulu

EDIT:Přidáno spojení pro zahrnutí posledního chybějícího řádku

Něco takového může fungovat. Za předpokladu, že vstupní data jsou v tabulce a,

with b as
(select level-1 lev
from dual
connect by level <= 60
),
v as
(
select start_date, value current_value, lead(value) over (order by start_date) next_value
from a
)
select start_date+ (lev)/(24*60), (current_value*((60-(b.lev))/60) + next_value*(b.lev)/60) avg_value
from v, b
where v.next_value is not null
union
select start_date, current_value
from v
where v.next_value is null
order by 1


  1. Vytvoření indexu na proměnné tabulky

  2. Jak funguje TIMESTAMPADD() v MariaDB

  3. Simultánní vkládání MySQL do stejné tabulky:jak na to?

  4. Může rowCount() PDO po dotazu UPDATE zobrazit rozdíl mezi neprovedenými změnami a neexistujícím řádkem?