SQL 按科目汇总语句

现在有如下一个问题,就是要使用SQL语句实现层次自动汇总,数据库中存储字段及数据如下,请问如何实现层次汇总,请大家帮忙指点一下SQL语句
科目 金额
01 0.00
0101 0.00
010101 10000.00
010102 15000.00
0102 20000.00
0103 30000.00
我的意思是说按照科目进行自动汇总,比如010101和010102的金额会自动汇总到0101和01上的金额
那请问zcsd0119按你说的这种方法建了怎么实现这个层次汇总呢
最新回答
眠于你心上

2024-05-06 00:26:05

将表头科目分为3个列,一级,二级,三级分别记为<C1,C2,C3>科目

比如原来的010102,可以记为<01,01,02>三列,原0101,可以记为<01,01,00>
这样,,使用SQL的group by命令,就可以很方便的分别针对一级、二级、三级目录汇总。如GROUP BY C1就是按照一级类目汇总。
奶茶

2024-05-06 20:28:45

不会做。
不过楼主如果需要经常进行这种处理的话,最好把“科目”字段进行比较合理的设计。譬如“010101”中第一个“01”表示什么,作为一个单独字段,第二个“01”表示什么,作为一个单独字段。这样以后怎么分类统计都方便,不会出错误。统计的时候直接利用连接符(||)就可以了,很方便。
现在这样子,你以后增加新的条目都很难办。
语物忉灼秋

2024-05-06 15:59:25

假设科目字段为 course, 金额字段为 money
表名为 table
则汇总如下:
select course,sum(money) from table group by course.
今天抽風了

2024-05-06 11:01:11

你所指的是按照什么层次汇总,能说明白点吗