我有一个项目的网站,需要在一个列中汇总所有预算类别。
例如,我有一列包含:
类别:
水、电、气、租金、医院费用、医药、个人护理、健身、
我想选择总和
水、电、气、租金
并将其命名为水电费。
与总和相同
住院费、医药费、个人护理费、健身费
作为医疗保健。
我应该使用什么 sql 语句?
任何帮助将不胜感激
您可能还有一些其他表格,或该表格上的另一列,将特定账单映射到一般组或类别
然后你会运行一个查询(如果你把类别组放在主表中)
SELECT categorygroup, sum(amount)
FROM bills
GROUP BY categorygroup
或者(如果你有一张单独的桌子加入)
SELECT bcg.categorygroup, sum(amount)
FROM bills b INNER JOIN billcategorygroups bcg ON b.category=bcg.category
GROUP BY bcg.categorygroup
然后,您将维护表格,例如(主表格样式中的类别):
Bills
Category, CategoryGroup, Amount
---
Electricity, Utility, 123
Water, Utility, 456
或(单独的表格以组样式映射类别)
BillCategoryGroups
Category, CategoryGroup
---
Water, Utility
Electricity, Utility
等等
有些东西必须映射电力 -> 公用事业,水 -> 公用事业等。我可能有一个单独的表格,因为它很容易重组。如果您决定 Cellular 不再是 Utility 而是 Personal,那么只需在映射表中更改它就会更改所有报告。它还有助于防止影响报告的拼写错误和数据输入错误 - 如果您使用单表路由,甚至将一张电费账单记为 Utility,那么它就会在报告中获得自己的一行。使用单独的表格也可以轻松添加新类别。所有这些事情都可以用单表和大更新语句等来完成,但我们有充分的理由对数据进行“规范化”
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句