我在Oracle SQL工作。我有一个有I和日期的表,我试图按主题找到日期之间的平均时间。看起来会是这样的。
表格
SubjectID Date
1 8/01/2013 12:00:00 AM
1 8/31/2013 12:00:00 AM
1 9/10/2013 12:00:00 AM
2 1/01/2010 12:00:00 AM
2 1/21/2010 12:00:00 AM
可以说,我需要编写一个由SubjectID遍历该表的查询,记录日期之间的时间,并输
假设我有一个表,其中包含时间戳列、时间戳和分组列foo。 例如: CREATE TABLE my_table (
id SERIAL PRIMARY KEY,
foo integer NOT NULL,
timestamp timestamp without time zone NOT NULL
); 我想要做的是获得每组的平均时间差(GROUP BY foo),然后获得这些平均值的平均值。 我能遇到的唯一一件事就是得到所有行的平均值(未分组): SELECT avg(difference)
FROM (
SELECT timestam
嗨,提前谢谢你的帮助。我有下表:
create table temp_vol (symbol nchar(10), dseqkey int, volume float)
以下是表中的一些值:
symbol dseqkey volume (no commas in the actual values)
C 20672 422,764,512
F 20672 47,144,600
F 20671 51,695,000
C 20671 371,950,496
F
我想使用SQL窗口函数计算移动平均值。下面的2“天”移动平均线的例子基本上可以正常工作,但如果只有一个数据点可用,它也可以计算平均值。只要没有足够的数据,我更希望平均值为null。
create table average(
nr int,
value float
);
insert into average values (1, 2), (2, 4), (3, 6), (3, 8), (4, 10);
SELECT
nr,
value,
AVG(value) OVER (ORDER BY nr ROWS BETWEEN 1 PRECEDING