mysql统计一年中每周的数据

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ljk126wy/article/details/49886419

最近公司要统计一年内每周的注册用户数,销售量,成交量。分享一下在开发是遇到的问题。如果文章中有错误的地方尽请见谅

1 mySql 周数统计 (week函数)

首先说一下mysql数据库统计使用week(Str/date,number) 第一个参数是字符串或者日期,第二个参数是数字

接下来我介绍一下week函数使用的示例

select week(‘2015-11-17’,1) 20151117号在改年中是第47


其中week函数中的第二个参数number的值得用法

Number

一周的第一天

范围

Week 1为第一周

0

周日

0~53

本年度中有一个周日

1

周一

0~53

本年度中有3天以上

2

周日

1~53

本年度中有一个周日

3

周一

1~53

本年度中有3天以上

4

周日

0~53

本年度中有3天以上

5

周一

0~53

本年度中有一个周一

6

周日

1~53

本年度中有3天以上

7

周一

1~53

本年度中有一个周一

WEEK('2015-11-17')只使用一个参数,它的第二个参数则为default_week_format默认值,MySQL中该值默认为 0

下面是开发过程中统计每周注册用户的数量使用的sql

其中post_date是注册时间的字段


SELECT WEEK(u.post_date,1),COUNT(*) 

FROM USERS u WHERE 1=1

AND  u.post_date>='2015-01-01'

AND u.post_date<='2015-12-31'

GROUP BY WEEK(u.post_date,1)


注意:week的参数使用符合我们正常的周数的显示

Mysql还有一个WEEKOFYEAR(d) 的函数

一年中的第几个星期。范围是从153,相当于WEEK(d,3)

但是针对于一些特殊的他会有一些问题例如查询2014年的1231号用weekofyear他会把当天看成是2015年的第一周

在开发中建议使用week(str/date,1) 这个符合我们国家的周数统计



展开阅读全文

没有更多推荐了,返回首页