我正在尝试选择agg_cost
给定的id
,并从所有其他行中减去它。然后将结果分为两列:downstream
阴性结果,upstream
阳性结果。我想为每个减法生成一个单独的表。
表数据示例:
总成本 | ID |
---|---|
351.2267005 | 2.1 |
3444.240963 | 2.2 |
13337.39965 | 2.3 |
24618.73032 | 2.4 |
29523.72328 | 2.5 |
50051.75197 | 1.8 |
72884.10893 | 1.9 |
139114.7436 | 3.1 |
0 | 起源 |
给定的计算示例id = 2.5
:
- 原点 = 2.5 (29523.723) - 原点 (0) = 29523.723
- 2.1 = 2.5 (29523.723) - 2.1 (351.226) = 29172.49658
- ... ETC。
期望的结果:
内径2.5 | 上游 | 下游 |
---|---|---|
ID | ||
起源 | 29523.72328 | |
2.1 | 29172.49658 | |
2.2 | 26079.48231 | |
2.3 | 16186.32363 | |
2.4 | 4904.992963 | |
1.8 | -20528.0287 | |
1.9 | -43360.38565 | |
3.1 | -109591.0203 |
小提琴
您可能只使用单个结果列(
diff
在子查询中)。分成两部分后,我填写null
缺失的值。(CASE
默认为缺失null
时ELSE
。)假设所有列
NOT NULL
,否则你可能需要做更多的事情。