SQL计算两条记录某字段差值,如何实现?

我现在有一个表,如图所示。每隔15分钟向表里插入一条记录,其中uconvp代表总累积流量,UVol代表十五分钟内流量。想实现:UVol字段通过已有记录计算得出。计算规则如下:从第二条记录开始,本条记录UVol=本条记录uconvp-上一条记录uconvp(即十五分钟内流量);同理本条记录CVol=本条记录convp-上一条记录convp。
请问能否用表设计里的插入公式方法实现,还是用别的方法。我想在插入新纪录时(没有UVol、CVol数据),UVol、CVol就计算出来并同时插入到了这条纪录里。

写个触发器,插入记录的时候计算下,给个值不就可以了,可以行级Insert前触发,直接计算给两个字段赋值,也可以用行级Insert后触发,触发update这两个字段
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-26
代码里计算值,然後插入新记录,这样很简单。
如果只是用sql完成计算并插入,这样很麻烦的。本回答被提问者和网友采纳
第2个回答  2013-05-09
这种通过计算出来得出的数据就不要插入数据库了,不符合第三范式。可只记录总流量或单次流量,计算的问题留到代码里解决
第3个回答  2013-05-09
可以用sql语句 搞定 不过有点小麻烦
相似回答