您的位置:首页 > 数据库 > MySQL

【mysql】mysql按时间查询没有某些时间导致数据缺失的解决方法

2017-06-16 23:11 399 查看
在做图表的时候,会有需要连续时间的记录的需求.但是假如按照时间查询的时候,某一个时间点的并没有产生数据,导致数据的缺失,按照平时的关联查询,会导致中间的数据出现丢失.本来一个月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 JOINbas_name bn
) b


中间的时间可以通过StringBuffer连接在一起,这样就可以把完整的时间补完整

sql语句中的

CROSS JOIN


的意思是笛卡尔积集,就是所有字段全部关联的处理,详情可以百度
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐