我有一个存储股市数据的数据库。
有一个包含3列的表: stockId、日期和卷
每个交易日都会在表格中插入新的数据。
我怎样才能得到“过去10个交易日内每只股票的平均成交量”这样的结果?
发布于 2013-07-18 21:11:13
SELECT SUM(volume)/10 FROM table_name
Where date Between Cast('7/18/13 12:01:01' As DateTime) And Cast('7/08/13 12:01:01' as DateTime)发布于 2013-07-18 21:19:05
SELECT AVG(volume) FROM mytable WHERE date >= (CURDATE() - INTERVAL 10 DAY) 编辑:
过去10天的小组,以及他们的平均水平。
SELECT AVG(volume) FROM mytable GROUP BY date ORDER BY date DESC LIMIT 10 发布于 2013-07-18 21:22:10
http://sqlfiddle.com/#!6/c8dbb/4
CREATE TABLE Stocks
([StockId] int, [Date] DateTime, [Volume] int)
;
INSERT INTO Stocks
([StockId], [Date], [Volume])
VALUES
(1, GetDate(), 1000),
(1, GetDate()+1, 2000),
(1, GetDate()+2, 4000),
(2, GetDate(), 1000),
(2, GetDate()+1, 1000),
(2, GetDate()+2, 500)
;
Select StockId, AVG(Volume) [AverageVolume]
FROM Stocks
WHERE [Date] >= DATEADD(dd, 0, DATEDIFF(dd, 0, GetDate())) - 10
Group by StockId
Order by StockIdhttps://stackoverflow.com/questions/17733822
复制相似问题