我有一个表,其中包含一个具有状态的单个ID的多个预算记录,我需要能够对预算求和并根据某些预定义的层次结构提取状态。因此,如果任何记录例如说“预测”,我需要将总和标记为预测。
ID Status Budget
1 Forecast 50
1 Forecast 100
1 Final 50
2 Final 75
2 Final 75
我需要上面的表格返回:
1 forecast 200
2 final 150
理想情况下,我可以在此层次结构中添加3或4个级别,但只有两个级别是完全必要的。
答案 0 :(得分:0)
您应该可以使用group by子句执行此操作:
SELECT ID, Status, sum(Budget) forecast --this aliases the sum column so it's called "forcast" in query results
FROM your_table
--WHERE status like 'Forecast%' --commented out this line but you may want it to limit the rows utilized in the sum.
GROUP BY ID, Status
ORDER BY 3 DESC