【发布时间】:2014-05-05 11:22:38
【问题描述】:
我有一张如下表
fab_id x y z m
12 14 10 3 5
12 10 10 3 4
这里我在 id 上使用 group by 子句。现在我想减去那些具有相似 id 的列值。 例如,按 id (12) 分组。现在减去 (14-10)X, (10-10)Y, (3-3)z, (5-4)m
我知道有一个聚合函数 sum 用于加法,但是有什么函数可以用来减去这个值。
或者有没有其他方法可以达到效果。
注意--ve 中的值可能会有所变化。那么有什么函数可以处理这个吗?
再举一个例子 - (按correction_date desc 排序,结果将首先显示最近的更正)
fab_id x y z m correction_date
14 20 12 4 4 2014-05-05 09:03
14 24 12 4 3 2014-05-05 08:05
14 26 12 4 6 2014-05-05 07:12
所以结果是在 id (14) 上实现分组。现在减去 (26-20)X, (12-12)Y, (4-4)z, (6-4)m
【问题讨论】:
-
要提供准确的答案,我们需要了解所有要求。你总是有2行吗?还是
N行? -
如何定义行的顺序,即从哪一行中减去哪一行?如果您有三行具有相同的
fab_id,您期望会发生什么? -
我也有日期栏。我使用 order by Correction_date desc 以便最近对 fab 进行的更正首先出现,然后依此类推。
-
它总是只有两行。但如果我动态地做会更好(不取决于 2 或 3 行)
-
这越来越模糊了。请提供一个包含三行(甚至更多)的示例,其中包含日期和预期结果。
标签: sql sql-server-2008