Date MySQL填充空日期值
我正在针对我们的个人客户的事件日志数据库运行一些查询。我想返回的是2012年以来的所有月份名称,以及已发生的公开事件数量。这适用于与我们合作超过12个月的客户,但不适用于与我们合作时间较短的客户 我的问题是:Date MySQL填充空日期值,date,return,zero,Date,Return,Zero,我正在针对我们的个人客户的事件日志数据库运行一些查询。我想返回的是2012年以来的所有月份名称,以及已发生的公开事件数量。这适用于与我们合作超过12个月的客户,但不适用于与我们合作时间较短的客户 我的问题是: SELECT DATE_FORMAT(FROM_UNIXTIME(createdtime/1000), '%Y') as 'Year', DATE_FORMAT(FROM_UNIXTIME(createdtime/1000), '%M') as 'Month', c
SELECT DATE_FORMAT(FROM_UNIXTIME(createdtime/1000), '%Y') as 'Year',
DATE_FORMAT(FROM_UNIXTIME(createdtime/1000), '%M') as 'Month',
count(wo.workorderid) as 'Total Logged'
FROM workorder_threaded wot
inner join workorder wo
on wo.workorderid = wot.workorderid
and wo.siteid = 4806
and DATE_FORMAT(FROM_UNIXTIME(createdtime/1000), '%Y') <> '2011'
where wot.workorderid = wot.thd_woid
GROUP BY DATE_FORMAT(FROM_UNIXTIME(createdtime/1000), '%Y%m')
不过,我需要以下资料:
Year Month Total Logged
2012 January 0
2012 February 0
2012 March 0
2012 April 0
2012 May 0
2012 June 0
2012 July 0
2012 August 3
2012 September 356
2012 October 212
2012 November 120
2012 December 0
它不必受年份限制,即呼叫记录数据库中有2011年的数据,因此可以修改查询以过滤年份范围
我知道这不是填充,因为数据不存在,我已经看到了创建数字\日期表并引用它来填充日期的方法,但我很难做到这一点。我也改变了周围的连接和哪里的条件都没有用
提前感谢。您需要在此处使用
左连接
您需要在此处使用左连接
如果我使用左连接,我会得到以下输出:年-月总记录空值0 2012年8月3日2012年9月356日2012年10月212日11月120日是的,这些空值对应于您需要从另一个表生成或加入的年份和月份。我不会为您编写查询,您必须自己处理。顺便说一句:您可以使用标准的SQL日期函数从日期中获取年和月,事实上,您应该在输出中使用生成的年和月,因为即使您现有的用户在某些月份也可能没有活动。与实际日期/年份(即和年份='2012'
相比,我认为您并不完全理解我的意图,但感谢您的回复和有关查询结构的提示。因为我了解您的要求,您希望在给定年份(2012年)的每个月都有一个结果每月的工作订单数量。这就是我如何理解你的问题…如果我使用left join,我会得到以下输出:年-月总记录空值0 2012年8月3日2012年9月356日2012年10月212日2012年11月120日是,这些空值对应于您需要从另一个表生成或加入的年份和月份。我不会为您编写查询,您必须自己处理。顺便说一句:您可以使用标准的SQL日期函数从日期中获取年和月,事实上,您应该在输出中使用生成的年和月,因为即使您现有的用户在某些月份也可能没有活动。与实际日期/年份(即和年份='2012'
相比,我认为您并不完全理解我的意图,但感谢您的回复和有关查询结构的提示。因为我了解您的要求,您希望在给定年份(2012年)的每个月都有一个结果每月的工作订单数量。这就是我如何理解你的问题。。。
Year Month Total Logged
2012 January 0
2012 February 0
2012 March 0
2012 April 0
2012 May 0
2012 June 0
2012 July 0
2012 August 3
2012 September 356
2012 October 212
2012 November 120
2012 December 0