cg173619268 2010-05-09 03:40
浏览 224
已采纳

MySQL的问题,我纠结了很长时间,希望有人能帮我解决下

比如说我的表的结构
日期 金额
2010-04-04 50
2010-05-05 20

2010-05-06 50
2010-05-04 100
2010-05-20 -50
2010-03-02 580
2010-02-01 60
2010-01-08 20

查询后我要的结果是:
自然周 总额
1 0
2 0

3 0
4 0
5 0
6 0
7 0
8 0
9 10 //比如说9周有总额是10 那就显示10 没有数据就显示0
10 50

实在不知道怎么写 麻烦给个解决的SQL语句
高手解决的!! 在此小弟感谢万分

  • 写回答

8条回答 默认 最新

  • 拽拽的初行者 2010-05-09 16:31
    关注

    新建一个week表 week(id) 就是1-53

    然后,采用连接查询。

    [code="sql"]
    SELECT week.id , IF(amount IS NULL , 0, amount)

    FROM
    (SELECT WEEKOFYEAR(时间) As perWeek ,SUM(数量) AS amount FROM 你的表 GROUP BY perWeek) indTable

    RIGHT JOIN week on indTable.perWeek = week.id;[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?