【发布时间】:2010-02-24 14:37:34
【问题描述】:
我有一个名为的简单表,其中包含 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,然后以某种方式最后将它们粘合在一起。
编辑:我也需要考虑负面变化。
【问题讨论】:
-
我知道你想要什么,我知道它可以做到。如果还没有回答,我回家后会在我的开发服务器上试一试。
-
编辑了我的答案,因为我有一个可以测试它的服务器。
-
谢谢,我试试看告诉你。
标签: mysql