V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CUMTProgrammer
V2EX  ›  程序员

MY SQL 按照每天分组查询,数据库没有数据也要显示,可以怎么操作

  •  
  •   CUMTProgrammer · 2018-12-10 17:12:40 +08:00 · 1316 次点击
    这是一个创建于 1935 天前的主题,其中的信息可能已经有所发展或是发生改变。

    要做一个图形展示,用 GROUP BY DATE_FORMAT(time,'%Y%m%d')话,time 是不连续的,数据就会 BUG,求教高手怎么整

    6 条回复    2018-12-11 17:15:27 +08:00
    id4alex
        1
    id4alex  
       2018-12-10 17:16:53 +08:00
    做个连续的时间维表, 然后 left join 一哈你们的表, 再操作
    id4alex
        2
    id4alex  
       2018-12-10 17:18:34 +08:00
    然后 left join 一哈你们的表

    意思是 left join 你们这个已经 group by 好的结果(date,xxxx)
    CUMTProgrammer
        3
    CUMTProgrammer  
    OP
       2018-12-10 17:19:30 +08:00
    @id4alex #1 那不是要新建一张表,而且 join 多加一张表,效率也会降低很多
    keepeye
        4
    keepeye  
       2018-12-10 17:20:05 +08:00
    方法 1:结果取回来后自己代码循环一遍,没有日期的手动补齐。

    方法 2:搞个结构一样的临时表,插入连续的日期,查询的时候 union all?
    id4alex
        5
    id4alex  
       2018-12-10 17:22:01 +08:00
    @CUMTProgrammer 时间维度表, 不需要建,with as 临时表即可. 你在这里纠结的时间也算效率降低噢.
    realpg
        6
    realpg  
       2018-12-11 17:15:27 +08:00 via Android
    本身你这个查询效率就会低的离谱,不怕更低一些了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1153 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 23:01 · PVG 07:01 · LAX 16:01 · JFK 19:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.