如何用SQL统计每日金额事情是这样的,作为一个学校不是每天都有收入(也因此没有当天记录),但学校依然要有当天的统计:表名: Student
学生编号 日期 学费 姓名 班级 上课开始时间 上课结束时间
2255 2008-1-26 1000 赵二 英语高级  2008-1-26 2008-2-26
2256 2008-1-26 1000 张三 英语高级  2008-1-26 2008-2-26
2249 2008-1-29 500 李四 英语中级  2008-2-1 2008-3-1
SELECT 日期, sum(学费) as money FROM Student GROUP BY 日期结果显示如下:
2008-1-26 2000
2008-1-29 500但是2008-1-27、2008-1-28没有统计结果!!怎么办?特别是如果用DBChart曲线显示的话,中间跳过几天显示曲线是很不合理的!非常感谢各位指教!PS,如果用TChart可能能够解决这个问题,难道用SQL分别统计每一天再输出?那样效率太低!(每年的统计信息都要执行365个SQL语句!)所以最好还是用SQL语句一句话解决问题比较好。

解决方案 »

  1.   

    create a "calendar" table
    create table calendar
    (
      日期 DATE PRIMARY KEY
    )then insert the date to the table.select d.日期,sum(学费)
    from calendar d left join Student s on (d.日期 = s.日期)
    group by d.日期
      

  2.   

    按照日期列GROUP BY 就可以了。仔细看一下手册。
      

  3.   

    liuyann 的做法很好﹐我們也是這樣處理的