遇到group by统计问题
简化表数据为:
日期 科目 借 贷 余额 row_id( 主键)
2009-6-1 100201 1 2 3 1
2009-6-1 100201 2 3 4 2
2009-6-1 100202 3 4 5 3
2009-6-1 100202 8 8 9 4
2009-6-1 100203 4 4 6 5
2009-6-2 100201 1 2 3 6
2009-6-2 100201 2 3 12 7
2009-6-2 100202 3 4 1 8
2009-6-3 100203 5 2 8 9
2009-6-4 100201 1 3 4 10
...................................................................(数据多条)
说明:科目分1级如(1002)和2级,2级科目为100201,100202,100203
希望查询:用户页面输入一级科目如:1002统计出其下2级科目每日合计
格式如下:日期 借 贷 余额
2009-6-1查询结果:
日期 借 贷 余额
2009-6-1 1+2+3+8+4 2+3+4+8+4 比较100201取最大row_id对应余额是4 ,比较100202取最大row_id对应余额是9 ,比较100203取最大row_id对应余额是6 余额为:4+9+6 不是3+4+5+9+6
2009-6-2 1+2+3 2+3+4 比较100201取最大row_id对应余额是4 ,比较100201取最大row_id对应余额是12 ,比较100203取最大row_id对应余额是1,前期同2级100203科目最大row_id对应余额6 余额为:12+1+6 不是12+1
2009-6-3 5 2 前期同2级100201科目最大row_id对应余额12,前期同2级100202科目最大row_id对应余额1 余额为:12+1+8 不是8也不是12+1+6
.....................................................................................
规则:用户在前台输入一级科目如1002和不定范围的时间段如2009-5-22到2009-6-4,请给出每日统计,案例和格式如上
1级下2级科目数目不定,但是前4位编码一定是1级科目编码如:1002,2级科目之间编码唯一,查询可用like '1002%'
2借,贷统计
余额统计:是统计group by查询开始日期到每天的时间段,而不是每天 如:2009-6-3余额为:12+1+8 不是8也不是12+1+6
如果这段时间没有科目100204发生业务,暂且不管.
个人遇到困难,请高手最好能给出SQL,关键是余额合计,谢先.