【发布时间】:2015-09-02 11:35:44
【问题描述】:
我有带有 ID、Sub_ID 和值列的表
ID SUB_ID Value
100 1 100
100 2 150
101 1 100
101 2 150
101 3 200
102 1 100
SUB ID 可以从 1..maxvalue 变化(在本例中为 3)。我需要每个 Sub_ID 的值总和。如果某个特定 ID 的 SUB_ID 小于 MAXVALUE,则它应该采用每个 ID 的 MAX(SUB_ID) 如下所示(在此示例中,对于 SUB_ID 3 的 ID=100,它应该采用 150,即 2
SUB_ID SUM(values) Remarks
1 300 (100+100+100)
2 400 (150+150+100)
3 450 (150+200+100)
这可以在 PL/SQL 中轻松完成。我们可以使用模型子句或任何其他选项来使用 SQL 吗
【问题讨论】:
-
你能扩展上面的数据集吗?您的文字表明存在 id =100 和 sub_id = 3,但数据集中不存在该组合。
-
SUB_ID=3 是整个表的最大 SUB_ID。对于 ID=100,这不存在。所以它应该取 Max SUB_ID 的值为 100。所以它应该取 150。如果是 102,它应该取 100
-
是否只有 3 个 sub_id?另外,您可以发布执行此逻辑的 pl/sql 吗?
-
您能否将您的示例更新为仅不同的值,以便我了解您指的是哪 100 个。
-
我们无法理解您的问题,请在问题中详细说明