这里是原始问题:有一个表股票价格,其中包含有关一家公司股票交易的信息。
添加另一列(我们称其为delta),以便按时间存储当前交易价格与上一次交易价格之间的差额。
编写一条SQL语句,该语句将计算差价,并在所有行中用差价填充增量列。
我像下面这样写sql,以便在mysql上运行,但mysql似乎不支持current,所以我无法继续,以下是我写到现在的sql,用于按时间计算当前交易价格与前一交易价格之间的差额:
SELECT
[current].timestamp,
[current].price,
ISNULL([next].price, 0) - [current].price
FROM
stockprice AS [current]
LEFT JOIN
stockprice AS [next]
ON [next].timestamp = (SELECT MIN(timestamp) FROM stockprice WHERE timestamp > [current].timestamp)发布于 2011-11-21 04:46:31
您使用方括号作为标识符分隔符。此语法仅适用于Microsoft SQL Server和Sybase。您应该使用在MySQL中工作的语法,默认情况下使用反引号,如果启用ANSI_QUOTES模式,则使用双引号。
https://stackoverflow.com/questions/8204568
复制相似问题