按照非自然月统计每月的金额,并显示出月份和金额
例如,有以下记录
jino  moneynum   jiludate
1     123        2008-12-3
2     234        2008-12-27
3     200        2009-1-1
4     300        2009-1-27
5     400        2009-2-2每月开始日设置为25日,结束日为24日。
则以上五条记录统计后显示为:
日期          金额
2008-12     123
2009-01     434
2009-02     700
只用sql文,不用查出数据后再用程序分月计算,该怎么写sql文?
多谢!

解决方案 »

  1.   

    用这个进行分组
    select iif(日期>24,取左7位(转换成字符(日期+1月)),取左7位(转换成字符(日期))),sum(moneynum) as j from table group by iif(日期>24,取左7位(转换成字符(日期+1月)),取左7位(转换成字符(日期)))
      

  2.   

    最好提前定义好财务月份.
    运行时检查当前月,如果没有定义,就禁止录入数据.
    大部分ERP都这样做的.
      

  3.   

    如果你仅仅做一个月的查询,现有的表结构没有什么不便。因为日期型字段实际上是一个 Double 值,整数部分表示的是从 1899 年 12 月起的天数。"Select jiludate As 日期, moneynum As 金额 From table1 Where jiludate >= #2008-12-25# And jiludate < #2009-1-25#"但是要做分月汇总,就应该添加一个财务月份字段作为查询辅助。更新财务月份值
    "Update table1 Set AccountMonth = IIf(Day(jiludate) > 25, CDate(Format(DateAdd('m', 1, jiludate), 'yyyy-m')), CDate(Format(jiludate, 'yyyy-m')))" 汇总
    "Select Format(AccountMonth, 'yyyy-m') As 日期, Sum(moneynum) As 金额 From table1 Group By AccountMonth"
      

  4.   

    在数据库中添加一个“会计期间”表,内容如下
    年度 月份 开始日期   结束日期
    ---- ---- ---------- ----------
    2008   12 2008-11-25 2008-12-24
    2009   01 2008-12-25 2009-01-24
    2009   02 2009-01-25 2009-02-24
    ---- ---- ---------- ----------
    查询为
    SELECT 会计期间.年度 + '-' + 会计期间.月份 AS 日期, Sum(交易表.moneynum) AS 金额
    FROM 会计期间, 交易表
    WHERE (((交易表.jiludate)>=[会计期间].[开始日期] And (交易表.jiludate)<=[会计期间].[结束日期]))
    GROUP BY 会计期间.年度, 会计期间.月份;SELECT 会计期间.年度, Sum(交易表.moneynum) AS 金额
    FROM 会计期间, 交易表
    WHERE (((交易表.jiludate)>=[会计期间].[开始日期] And (交易表.jiludate)<=[会计期间].[结束日期]))
    GROUP BY 会计期间.年度;
      

  5.   

    shouru表的结构是:
    jino(自增型整数) moneynum(货币型) type(收入类型,文本型) jiludate(日期型) beizhu(备注型)
    1                5000.00          工资                     2008-12-25       工资 
    2                500.00           红包                     2009-1-26        新年红包
    3                20.50            利息                     2009-2-2         银行利息收入统计画面如下:
    统计期间:
    radio button
    1.天  2.周 3.月 4.季 5.年
    每月开始日(1-31的下拉list)
    开始日期
    结束日期
    收入类型
      

  6.   

    http://user.qzone.qq.com/40785298
    如果上图显示不了,请参考qq空间,other相册中的收入统计界面。多谢各位!