• 请不要在回答技术问题时复制粘贴 AI 生成的内容
CUMTProgrammer
V2EX  ›  程序员

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

  •  
  •   CUMTProgrammer · Dec 10, 2018 · 1911 views
    This topic created in 2720 days ago, the information mentioned may be changed or developed.

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

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

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

    方法 2:搞个结构一样的临时表,插入连续的日期,查询的时候 union all?
    id4alex
        5
    id4alex  
       Dec 10, 2018
    @CUMTProgrammer 时间维度表, 不需要建,with as 临时表即可. 你在这里纠结的时间也算效率降低噢.
    realpg
        6
    realpg  
    PRO
       Dec 11, 2018 via Android
    本身你这个查询效率就会低的离谱,不怕更低一些了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1223 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 23:51 · PVG 07:51 · LAX 16:51 · JFK 19:51
    ♥ Do have faith in what you're doing.