脚本宝典收集整理的这篇文章主要介绍了php – 计算数据表并对其求和,并使用默认值填充空数据,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的数据
start_date |end_date ------------------------ 2018-10-01 |2018-10-02 2018-01-04 |2018-02-04 2018-08-01 |2018-10-01
这是我的疑问
select month(month_table) as month_table,sum(cstart) as cstart,sum(cend) as cend from ( (select `start_date` as month_table,1 as cstart,0 as cend from newdata ) union all ( select `end_date`,1 from newdata ) ) dd group by monthname(month_table),month(month_table) order by month(month_table)
结果是
month_table|cstart|cend 1 | 1 | 0 2 | 0 | 1 8 | 1 | 0 10 | 1 | 2
month_table|cstart|cend 1 | 1 | 0 2 | 0 | 1 3 | 0 | 0 4 | 0 | 0 5 | 0 | 0 6 | 0 | 0 7 | 0 | 0 8 | 1 | 0 9 | 0 | 0 10 | 1 | 2 11 | 0 | 0 12 | 0 | 0
SELECT m.month month_table,coalesce(s.count,0) cstart,coalesce(e.count,0) cend FROM (SELECT 1 month UNION ALL SELECT 2 month UNION ALL SELECT 3 month UNION ALL SELECT 4 month UNION ALL SELECT 5 month UNION ALL SELECT 6 month UNION ALL SELECT 7 month UNION ALL SELECT 8 month UNION ALL SELECT 9 month UNION ALL SELECT 10 month UNION ALL SELECT 11 month UNION ALL SELECT 12 month) m LEFT JOIN (SELECT month(n.start_date) month,count(*) count FROM newdata n GROUP BY month(n.start_date)) s ON s.month = m.month LEFT JOIN (SELECT month(n.end_date) month,count(*) count FROM newdata n GROUP BY month(n.end_date)) e ON e.month = m.month ORDER BY m.month;
以上是脚本宝典为你收集整理的php – 计算数据表并对其求和,并使用默认值填充空数据全部内容,希望文章能够帮你解决php – 计算数据表并对其求和,并使用默认值填充空数据所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。