Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để trải rộng trung bình giữa hai khoảng thời gian trong oracle

CHỈNH SỬA:Đã thêm liên hợp để bao gồm hàng thiếu cuối cùng

Một số điều như thế này có thể hoạt động. Giả sử dữ liệu đầu vào nằm trong bảng 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle.DataAccess.Client.OracleCommand ExecuteReaderAsync

  2. count (*) không thể được chọn trong PL / SQL

  3. Làm cách nào để chỉ định danh sách biểu thức biến trong truy vấn Pro * C?

  4. Làm thế nào để tìm một mặt nạ cụ thể trong một chuỗi - Oracle?

  5. SQL:Có thể SUM () các trường kiểu INTERVAL không?