mysql - MySQL 中行之间的差异

标签 mysql

我想在mysql中生成一个新表,其中包含每两行之间的差异。 例如,如果我有这张表:

表1:

ID     VALUE

1      16748 
1      19628
1      23245
1      23322
1      33399
2      15367
2      17839
2      34578
2      53421
3      14229
3      19533
........

我想获取每个 ID 的所有值的 2 个连续值 (row[x+1]-row[x]) 之间的差异

所以我的结果是:

ID      DIFF

1       2880
1       3617
1       77
1       10077
2       2472
2       16739
2       18843
3       5304

最佳答案

你可以尝试这样的事情:-

SELECT
    MIN(T2.VALUE- T1.VALUE) AS Dif
FROM
    Table T1 INNER JOIN Table T2 on T1.VALUE< T2.VALUE
ORDER BY
    T1.VALUE

关于mysql - MySQL 中行之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18162569/

相关文章:

php - 如何在MYSQL数据库中创建事件?

mysql - 如何将数据写入文件以加载到MySQL数据库中?

R 版本 3.0.3 的 MySQL 包

mysql - Mysql master-master仅复制一个数据库而忽略其他数据库

mysql - 您是否按原样存储客户订单信息(客户名称、地址..)并因此接受重复数据?

mysql内存缓存

php - 我想在循环外使用变量,但在 while 循环中定义变量

使用来自变量的 unix_timestamp 进行 mysql 分区

mysql - 在 SQL 中使用 NOT 子句检测相同值下的重复记录时,没有收到任何输出

php - 使用其中一个值插入两个 SQL 表