我有一个Web任务来计算数据库中的一些数据。我必须每天,每周和每月统计这些数据。mysql:哪个更好使用DAY()或WEEK()?
对于每周,我仍然困惑着决定我应该使用哪种MySQL语法来处理这种情况。 有两种解决此问题的建议:使用DAY()
或WEEK()
。
我希望这种语法不受混乱的东西的限制。应该宣布月份和月末的第一天,或者在周日或周一开始等,我希望每次都可以使用罐(但是每周都会关注)。
我可以使用哪一个? DAY()或WEEK()?
我有一个Web任务来计算数据库中的一些数据。我必须每天,每周和每月统计这些数据。mysql:哪个更好使用DAY()或WEEK()?
对于每周,我仍然困惑着决定我应该使用哪种MySQL语法来处理这种情况。 有两种解决此问题的建议:使用DAY()
或WEEK()
。
我希望这种语法不受混乱的东西的限制。应该宣布月份和月末的第一天,或者在周日或周一开始等,我希望每次都可以使用罐(但是每周都会关注)。
我可以使用哪一个? DAY()或WEEK()?
每周一期的统计数据,你需要决定是否要你每周的统计数据,从周一运行至周日,或从周日到周六。要么可以支持。
最终,您可能会将YEAR(datefield)
和WEEK(datefield, 1)
分组。当涉及每月排序时,您将按YEAR(datefield)
和MONTH(datefield)
进行分组。对于日常统计,如果datefield
存储在DATE
类型中,那么您可以简单地按该组进行分组;如果您也有时间,则将按YEAR(datefield)
和DAYOFYEAR(datefield)
将值分组。
本周应该在周日/周一开始,而不是在本月的第一天。所以,你应该较周一最好使用WEEK()
为一周的第一天:
WEEK(date, 1)
我想我只是在周关注。每7天计数一次。“1周和7天之间”不同的“周()”和“日()”有什么不同? – klox 2010-09-07 07:08:16
怎么样在这个http://stackoverflow.com/questions/3640729/counting-data-and-grouping-by-week-in-mysql。它每周使用DAY()计数。有什么不同? – klox 2010-09-07 07:17:25
@ klox:我应该去倒下这个答案。 DAY()函数是DAYOFMONTH的同义词。这意味着所显示的查询会将1月1日至7日的数据与2月的第1-7天,以及数据所在的每年的3月和4月......数据进行分组。显然,它回答了OP的问题,但我有些怀疑当他们的数据延续了几年时他们会很高兴。有多种方法来回答任何特定的查询 - 这个问题和这个问题有一些区别。 – 2010-09-07 07:34:11
@ klox:哦,我知道你是另一个Q的海报......我建议重新考虑你接受这个答案。 – 2010-09-07 07:35:35