Mysql 如何创建一个sql查询来创建表,而不使用csv文件与上一个值求和?

Mysql 如何创建一个sql查询来创建表,而不使用csv文件与上一个值求和?,mysql,excel,csv,Mysql,Excel,Csv,我有一个非常大的csv文件。有两个字段:id和值(双精度)。 数据文件示例: 1 | 2.11 2 | 3.43 3 | 5.653 4 | 5.85 5 | 6.41 我想要一个mysql表: 1 | 2.11 2 | 1.32 (3.43 - 2.11) 3 | 2.223 (5.653 - 3.43) 4 | 0.197 (5.85 - 5.653) 5 | 0.56 (6.41 - 5.85) 从cvs文件中可以看出,每个后续值都包含一个先前值 如何创建一个sql查询,在不使用csv

我有一个非常大的csv文件。有两个字段:id和值(双精度)。 数据文件示例:

1 | 2.11
2 | 3.43
3 | 5.653
4 | 5.85
5 | 6.41
我想要一个mysql表:

1 | 2.11
2 | 1.32 (3.43 - 2.11)
3 | 2.223 (5.653 - 3.43)
4 | 0.197 (5.85 - 5.653)
5 | 0.56 (6.41 - 5.85)
从cvs文件中可以看出,每个后续值都包含一个先前值


如何创建一个sql查询,在不使用csv文件与上一个值求和的情况下创建表?

在使用应用程序级插入表时,您可以非常轻松地执行此操作。您只需将上一个值存储在变量中,并在插入之前获取与当前值的差值即可

如果数据已经在数据库中,您可以得到如下差异:

select 
id,
val,
@diff := if(@prev = 0,val,val-@prev) as diff,
@prev := val
from test, (select @prev :=0)r;

插入时如何执行?我不认为从CSV插入时可以在sql级别执行,需要在应用程序级别处理。如果需要处于sql级别,则可以是插入之前的
触发器,以查看以前的值,然后使用差值设置该值。