zbning0827 2015-11-24 10:04 采纳率: 0%
浏览 3008
已采纳

求一个Mysql语句 查询出当前周的数据按照天分组

SELECT
DATE_FORMAT(uploadTime_beg, "%Y-%m-%d") as time,
SUM(field01) as sumStatus1,
SUM(field02) as sumStatus2,
SUM(field03) as sumStatus3,
SUM(field04) as sumStatus4,
SUM(field05) as sumStatus5
FROM
health_realdata
WHERE DATE_FORMAT(uploadTime_beg,'%Y%u') = DATE_FORMAT(CURDATE(),'%Y%u')
GROUP BY DATE_FORMAT(uploadTime_beg,"%Y-%m-%d");

    这个SQL查出的数据如下:
    ![图片说明](https://img-ask.csdn.net/upload/201511/24/1448359276_377950.png)

    我想要的效果是:虽然数据库中没有2015-11-25的数据,但是也要查出来,只是后面的值显示为0.

    请问在MYSQL中如何实现,上面的SQL如何修改呢。

    我看到网上说需要一个日历辅助表,说的不是很详细,我试了一下好像有问题,
如果这种方法可行,还请大牛们写详细点,谢谢。
  • 写回答

4条回答 默认 最新

  • 晓呆同学 2015-11-24 10:33
    关注

    思路:
    1、将你上边查询出来的结果跟你说的那个有从2015-11-01 到2015-11-30的日历辅助表进行右连接查询
    2、将1中查询出的结果进行再次的查询处理,将null值更换为0;

    下边的为代码示意,没有进行调试,应该会有问题,大体结构是这样的:

         SELECT o.time, 
        case when o.sumStatus1 is null then 0 else o.sumStatus1 end as sumStatus1,
        case when o.sumStatus2 is null then 0 else o.sumStatus2 end as sumStatus2,
        case when o.sumStatus3 is null then 0 else o.sumStatus3 end as sumStatus3,
        case when o.sumStatus4 is null then 0 else o.sumStatus4 end as sumStatus4,
        case when o.sumStatus5 is null then 0 else o.sumStatus5 end as sumStatus5
        (
            (
            SELECT
            DATE_FORMAT(uploadTime_beg, "%Y-%m-%d") as time,
            SUM(field01) as sumStatus1,
            SUM(field02) as sumStatus2,
            SUM(field03) as sumStatus3,
            SUM(field04) as sumStatus4,
            SUM(field05) as sumStatus5
            FROM
            health_realdata
            WHERE DATE_FORMAT(uploadTime_beg,'%Y%u') = DATE_FORMAT(CURDATE(),'%Y%u')
            GROUP BY DATE_FORMAT(uploadTime_beg,"%Y-%m-%d");
            ) as a 
            right join 表d on a.time = d.time
        ) o
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站