我有一张如下所示的表:
PropertyID Amount Type EndDate
--------------------------------------------
1 100 RENT null
1 50 WATER null
1 60 ELEC null
1 10 OTHER null
2 70 RENT null
2 10 WATER null
一个酒店将有多个项目被计费,并且会被多次计费。例如,租金可以向房产 #1 计费 12 次(一年多),但是我唯一感兴趣的是那些 ENDDATE 为 null 的房产(换句话说,当前的)
我想实现:
PropertyId Amount
--------------------------
1 220
2 80
我尝试过做这样的事情:
SELECT
propertyId,
SUM() as TOTAL_COSTS
FROM
MyTable
但是,在 SUM 中,我是否必须进行多次选择才能返回每种类型费用的当前金额?我可以看到这变得混乱,我希望有一个更简单的解决方案
有任何想法吗?
这将带回每个属性和类型的总数
SELECT PropertyID,
TYPE,
SUM(Amount)
FROM yourTable
GROUP BY PropertyID,
TYPE
这只会带回活跃值
SELECT PropertyID,
TYPE,
SUM(Amount)
FROM yourTable
WHERE EndDate IS NULL
GROUP BY PropertyID,
TYPE
这将带回属性总数
SELECT PropertyID,
SUM(Amount)
FROM yourTable
WHERE EndDate IS NULL
GROUP BY PropertyID
......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)