【mysql】mysql按时间查询没有某些时间导致数据缺失的解决方法
·
在做图表的时候,会有需要连续时间的记录的需求.但是假如按照时间查询的时候,某一个时间点的并没有产生数据,导致数据的缺失,按照平时的关联查询,会导致中间的数据出现丢失.本来一个月30天的数据,可能就只有十几天的数据.因此,请教了公司的前辈得到了一个解决方法
代码
SELECT b.name,b.dt
FROM (
SELECT *
FROM (
SELECT '2017-05-01' AS dt UNION SELECT '2017-05-02'
UNION SELECT '2017-05-03' ... UNION SELECT '2017-05-30'
) d CROSS JOIN bas_name bn
) b
中间的时间可以通过StringBuffer连接在一起,这样就可以把完整的时间补完整
sql语句中的
CROSS JOIN
的意思是笛卡尔积集,就是所有字段全部关联的处理,详情可以百度
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)