我有一个网络任务来计算数据库中的一些数据。我必须每天、每周和每月统计这些数据。
对于每周,我仍然困惑于决定在这种情况下我应该使用哪种 MySQL 语法。有两个建议可以解决这个问题:使用DAY()
or WEEK()
。
我希望这种语法不受令人困惑的事物的限制。应该声明每月的第一天和月底或从星期日或星期一开始等。我希望它每次都可以使用(但集中在每周)。
哪个是我可以使用的?DAY() 还是 WEEK()?
一周应该从周日/周一开始,而不是从每月的第一天开始。因此,您WEEK()
最好使用星期一作为一周的第一天:
WEEK(date, 1)
对于每周统计信息,您需要决定是希望每周统计信息从周一到周日运行,还是从周日到周六运行。都可以支持。
最终,您可能会同时按YEAR(datefield)
和进行分组WEEK(datefield, 1)
。当涉及到每月排序时,您将按YEAR(datefield)
和进行分组MONTH(datefield)
。对于每日统计,如果datefield
存储在一个DATE
类型中,那么您可以简单地按该类型进行分组;如果您也有时间,您将按YEAR(datefield)
和对值进行分组DAYOFYEAR(datefield)
。