我有一个用于计算DB内部数据的Web任务。我必须每天,每周和每月统计这些数据。
对于每周,我仍然很难决定在这种情况下我应该使用哪种MySQL语法。
有两个建议可以解决此问题:使用DAY()
或WEEK()
。
我希望这种语法不受令人困惑的限制。应该声明本月的第一个月和月末或周日或周一等等。我希望每次使用罐头(但每周都要关注)。
我可以使用哪一个? DAY()或WEEK()?
答案 0 :(得分:0)
本周应该在周日/周一开始,而不是在本月的第一天开始。因此,您应该使用WEEK()
,最好是星期一作为一周的第一天:
WEEK(date, 1)
答案 1 :(得分:0)
对于每周统计数据,您需要确定是否希望每周统计数据从周一到周日或周日到周六运行。两者都可以得到支持。
最终,您可能会按YEAR(datefield)
和WEEK(datefield, 1)
进行分组。在每月排序时,您将按YEAR(datefield)
和MONTH(datefield)
进行分组。对于每日统计信息,如果datefield
存储在DATE
类型中,则可以按此分组;如果您也有时间,则可以按YEAR(datefield)
和DAYOFYEAR(datefield)
对值进行分组。