我有个问题对应SQL/Mysql的join操作。
我的数据库表结构有以下字段
时间戳
纬度双
隆双
所以实际数据是这样的
| 2013-07-20 16:32:22 | 49.3 | 8.3 |
| 2013-07-20 16:17:09 | 49.2 | 8.2 |
| 2013-07-20 15:58:19 | 49.1 | 8.1 |
我现在想将这个表与其自身连接起来,以便将一个数据集与具有下一个较低时间戳的数据集连接起来。所以这两者之间的差异是最小的。
所以最后我的结果是
| 2013-07-20 16:32:22 | 49.3 | 8.3 | 2013-07-20 16:17:09 | 49.2 | 8.2 |
| 2013-07-20 16:17:09 | 49.2 | 8.2 | 2013-07-20 15:58:19 | 49.1 | 8.1 |
为了到达那里,我尝试了以下 SQL 语句
SELECT * FROM
position
p1 ,position
p2 WHERE p1.time > p2.time GROUP BY p1.time;
但结果并不完全符合我的预期,第二个(分组依据)部分没有被这个解决方案“正确”排序。它看起来像这样:
| 2013-07-20 16:32:22 | 49.3 | 8.3 | 2013-07-20 15:58:19 | 49.1 | 8.1 |
| 2013-07-20 16:17:09 | 49.2 | 8.2 | 2013-07-20 15:58:19 | 49.1 | 8.1 |
谁能告诉我我的预期结果是否可以通过使用 SQL 实现?