【发布时间】:2013-04-19 08:07:30
【问题描述】:
我有一张如下表
Value Count
value1 55
value2 60
value3 65
value4 20
value5 25
value6 45
value7 5
value8 25
我需要一个查询来获取两个连续计数之间的差并将它们相加。一个条件是,如果下一个值小于前一个值,则考虑下一个值而不是差值。工作如下
Value Count Diff Explanation
value1 55 No diff as there is no previous value
value2 60 5 (60-55)
value3 75 15 (75-60)
value4 20 20 (20 as 20 < 75)
value5 25 5 (25-20)
value6 45 20 (45-25)
value7 5 5 (5 as 5 < 45)
value8 25 20 (25-5)
查询应该给出所有差异的总和,即5+15+20+5+20+5+20 = 90
提前感谢您为我制作的精彩查询:-)
【问题讨论】:
-
除了在 SO 上发布问题让我们为您制作查询之外,您是否尝试过任何其他方法?
-
为了过度简化,RDBMS 表中的行没有“顺序”,因此您需要某种方式来建立顺序。这通常使用顺序(和/或递增)id 或某种时间列。 PRIMARY KEY 也是必需的,尽管此排序列可以指定为此类(的组成部分)。
-
嗨 Ejay - 是的,我只是在尝试后才发布此内容,但我承认我是一个非常初学者。
-
草莓 - 感谢您的评论。所有的东西都在那里,只是想让它简单易懂。
标签: mysql