У меня есть простая таблица называется, которая содержит цены на акции в MySQL:найти разницу между двумя значениями в одном столбце в MySQL
Table `share_prices`
+----------+-------+---------------------+
| stock_id | price | date |
+----------+-------+---------------------+
| 1 | 0.05 | 2010-02-24 01:00:00 |
| 2 | 3.25 | 2010-02-24 01:00:00 |
| 3 | 3.30 | 2010-02-24 01:00:00 |
| 1 | 0.50 | 2010-02-23 23:00:00 |
| 2 | 1.90 | 2010-02-23 23:00:00 |
| 3 | 2.10 | 2010-02-23 23:00:00 |
| 1 | 1.00 | 2010-02-23 19:00:00 |
| 2 | 1.00 | 2010-02-23 19:00:00 |
| 3 | 1.00 | 2010-02-23 19:00:00 |
+----------+-------+---------------------+
Каждый раз, когда цена акций обновляется, новая строка вставляется в Таблица.
С этой структурой, Как я могу вернуть запрос, который показывает изменение цены за последние 24 часа?
Желаемый результат будет:
+----------+------+------+------------+
| stock_id | then | now | difference |
+----------+------+------+------------+
| 3 | 1.00 | 3.30 | 2.30 |
| 2 | 1.00 | 3.25 | 2.25 |
| 1 | 1.00 | 0.05 | -0.95 |
+----------+------+------+------------+
Какой самый лучший способ пойти по этому поводу? Какой-то союз? Подзапрос?
Я думаю, что я пытаюсь по существу запросить один раз, чтобы получить then
, запросить еще раз, чтобы получить now
, а затем как-то приклеить все вместе в конце.
Редактировать: Мне тоже нужно учитывать отрицательные изменения.
Я знаю, чего вы хотите, и я знаю, что это можно сделать. Если на него не ответили, я отвечу на мой dev-сервер, когда вернусь домой. – Tarka
Отредактировав мой ответ, теперь у меня есть сервер, на котором я могу проверить его. – Tarka
Спасибо, я попробую и дам вам знать. –