Sql 查询最近20天的平均值

Sql 查询最近20天的平均值,sql,sql-server,postgresql,sql-server-2008,Sql,Sql Server,Postgresql,Sql Server 2008,我有以下表格(称为:每日): 我正在尝试编写一个查询,它将为我提供过去20天内每个符号的平均容量。i、 e:我需要计算过去20天符号555的平均容量,符号444的平均容量。然后我需要选择平均音量最高的前100个符号 我只能确定整个符号历史中每个符号的平均体积,但我无法确定如何限制回溯期: select avg(volume) as avg_vol, symbol_id from daily group by symbol_id; 一旦我有了它,我需要将结果限制在平均音量最高的前100个符号上。

我有以下表格(称为:每日):

我正在尝试编写一个查询,它将为我提供过去20天内每个符号的平均容量。i、 e:我需要计算过去20天符号555的平均容量,符号444的平均容量。然后我需要选择平均音量最高的前100个符号

我只能确定整个符号历史中每个符号的平均体积,但我无法确定如何限制回溯期:

select avg(volume) as avg_vol, symbol_id
from daily
group by symbol_id;

一旦我有了它,我需要将结果限制在平均音量最高的前100个符号上。

使用
INTERVAL

SELECT AVG(volume) AS avg_vol, symbol_id
FROM daily
WHERE date > current_date - INTERVAL'20' day
GROUP BY symbol_id
ORDER BY AVG(volume) DESC
LIMIT 100;
SELECT AVG(volume) AS avg_vol, symbol_id
FROM daily
WHERE date > current_date - INTERVAL'20' day
GROUP BY symbol_id
ORDER BY AVG(volume) DESC
LIMIT 100;