资源描述:
《mysqlweek函数具体用法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Mysql中,WEEK函数的参数问题在mysql里面,要按周统计,周的计算,默认是从每日到周六的,但是我想得到的是每周一到周六的,所以,就做了下研究。如下:SELECT WEEK( date ) SUM ( sale )FROM 表GROUPBY WEEK( date );发现默认情况下,这个WEEK(日期) 是每把周日,作为一周的开始。 WeeK函数有如下参数,具体描述如下:参数值每周第一天是星期几返回值范围第一周是怎么计算的?0星期天0-53遇到本年的第一个星期天开始,是第一周。前面的计算为第0周。1星期一0-53假如第一周能超过3天,那么计算为
2、本年的第一周。否则为第0周可以理解为如果1月1号~4号是星期一,那么本年第一周开始。(之前的是第零周)如果1月5号以后是星期一,那么现在开始,是本年的第二周了,之前的是第一周。2星期天1-53遇到本年的第一个星期天开始,是第一周。前面的计算为上年度的第5x周。3星期一1-53假如第一周能超过3天,那么计算为本年的第一周。否则为上年度的第5x周。可以理解为如果1月1号~4号是星期一,那么本年第一周开始。(之前的是第5x周)如果1月5号以后是星期一,那么现在开始,是本年的第二周了,之前的是第一周。4星期天0-53假如第一周能超过3天,那么计算为本年的第一
3、周。否则为第0周可以理解为如果1月1号~4号是星期天,那么本年第一周开始。(之前的是第零周)如果1月5号以后是星期天,那么现在开始,是本年的第二周了,之前的是第一周。5星期一0-53遇到本年的第一个星期一开始,是第一周。前面的计算为第0周。6星期天1-53假如第一周能超过3天,那么计算为本年的第一周。否则为上年度的第5x周。可以理解为如果1月1号~4号是星期天,那么本年第一周开始。(之前的是第5x周)如果1月5号以后是星期天,那么现在开始,是本年的第二周了,之前的是第一周。7星期一1-53遇到本年的第一个星期一开始,是第一周。前面的计算为上年度的第5
4、x周。 下面是测试表与测试数据CREATETABLEtest_YEARWEEK( test date); INSERTINTOtest_YEARWEEK SELECT'2009-01-01'UNIONALL SELECT'2009-01-02'UNIONALL SELECT'2009-01-03'UNIONALL SELECT'2009-01-04'UNIONALL SELECT'2009-01-05'UNIONALL SELECT'2009-01-06'UNIONALL SELECT'2009-01-07'UNIONALL SELECT'200
5、9-12-25'UNIONALL SELECT'2009-12-26'UNIONALL SELECT'2009-12-27'UNIONALL SELECT'2009-12-28'UNIONALL SELECT'2009-12-29'UNIONALL SELECT'2009-12-30'UNIONALL SELECT'2009-12-31'UNIONALL SELECT'2010-01-01'UNIONALL SELECT'2010-01-02'UNIONALL SELECT'2010-01-03'UNIONALL SELECT'2010-01-04'
6、UNIONALL SELECT'2010-01-05'UNIONALL SELECT'2010-01-06'UNIONALL SELECT'2010-01-07'; 下面是查询语句与结果。 select test, DATE_FORMAT(test,'%W')ASW, WEEK(test,0)AS`0`, WEEK(test,1)AS`1`, WEEK(test,2)AS`2`, WEEK(test,3)AS`3`, WEEK(test,4)AS`4`, WEEK(test,5)AS`5`, WEEK(test,6)AS`6`, WEEK(test
7、,7)AS`7`FROM test_YEARWEEK; +------------+-----------+------+------+------+------+------+------+------+------+
8、test
9、W
10、0
11、1
12、2
13、3
14、4
15、5
16、6
17、7
18、+------------+-----------+------+------+------+------+------+------+------+------+
19、2009-01-01
20、Thursday
21、
22、 0
23、 1
24、 52
25、 1
26、 0
27、 0
28、 53
29、 52
30、
31、2009-01-02
32、Frid