我正在尝试从MYSQL输出数据表,以显示在Wordpress网站上发布的所有帖子,总计本年的一年中的一周。
我想确保我的查询计数从该年的第一个星期日开始的周数,以及从下一个星期日开始的每个连续周数。
我已经设法将功能查询放在一起,但是我对MYSQL还是很陌生,我不确定语法以及如何修改它。
我知道YEARWEEK()允许选择一种模式来标识一周的开始日期,即SELECT YEARWEEK('2019-11-23',0)AS'Mode 0';
这听起来确实像我想使用的东西,但是在我当前的代码下(或者如果我已经拥有的话),我不确定如何实现这一点。
SUM(if ( (WEEKOFYEAR(p.post_date) = 1), 1, 0)) as Wk1,
SUM(if ( (WEEKOFYEAR(p.post_date) = 2), 1, 0)) as Wk2,
SUM(if ( (WEEKOFYEAR(p.post_date) = 3), 1, 0)) as Wk3,
(this repeats for each week)
此查询生成的每周总计与脱机跟踪相同数据略有不同。我怀疑这与一周的开始时间的计算方式有关。
我可能会发现一种确保周数从周日开始的方法。您可能要尝试使用WEEK(date,mode)
。例如:
SUM(if ( (WEEK(p.post_date,0) = 1), 1, 0)) as Wk1,
SUM(if ( (WEEK(p.post_date,0) = 2), 1, 0)) as Wk2,
SUM(if ( (WEEK(p.post_date,0) = 3), 1, 0)) as Wk3,
我已经从'2019-01-01'开始对多个日期进行了测试,它确实从今年的第一个星期日开始算周。因此,如果今年post_date
介于'2019-01-01'至'2019-01-05'之间,它将标识为第0周,并且仅从'2019-01-06'开始才标识第1周(这是第一个星期日)今年)。有关WEEK()
函数的更多说明,请参见此链接。MySQL'WEEK()'函数
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句