Вот оригинальный вопрос:
Существует таблица цен акций, которая содержит информацию о сделках одной компании. Он имеет две колонки: метка времени и цена. Они представляют время, когда произошла сделка, и цену продажи. Естественный порядок записей в таблице является случайным и не сортируется по отметке времени.
Вы добавляете еще один столбец (назовем его дельта), в котором вы собираетесь хранить разницу между текущей ценой транзакции и ценой предыдущей транзакции по времени.
Напишите один оператор SQL, который вычислит разницу в цене и заполнит ею столбец дельта во всех строках.
Я пишу sql, как показано ниже, для запуска на mysql, но кажется, что current не поддерживается на mysql, и я не могу двигаться дальше, вот тот, который я написал до сих пор, чтобы вычислить разницу между текущей ценой транзакции и цена предыдущей транзакции по времени:
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)