mysql怎么对月份进行统计_MySQL如何按月份统计数据详解(转)

本文详细介绍了如何使用MySQL对财务数据按月份和周进行统计。针对2010年的数据,通过DATE_FORMAT函数配合GROUP BY,可以实现按月统计。同时,文章提到了按周统计的方法,并提供了相应的SQL代码示例,包括考虑日期为时间戳的情况。此外,还列举了MySQL日期时间格式化符号的使用说明。
摘要由CSDN通过智能技术生成

这篇文章主要对MySQL按月份统计数据介绍:表finance有俩个字段如下date datemoney double(15,2)下面需要对表finance的2010年财务数据,按月进行统计

selectDATE_FORMAT(date,'%Y-%m')asmonth,sum(money)asmoneyfromfinance

whereDATE_FORMAT(date,'%Y')=2010groupbymonthorderbymonth

下面是按周统计

查看MySQL的manual      手册

%X Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V

%x Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v

其中

1如果周一为一周的第一天,则(小写) DATE_FORMAT(date,’%x %v’)

2如果周日为一周的第一天,则(大写) DATE_FORMAT(date,’%X %V’)

Sql代码

selectDATE_FORMAT(date,'%x年-第%v周')asweek,sum(money)asmoneyfromfinance_base

whereDATE_FORMAT(date,'%Y')=2010groupbyweek

其中需要注意的地方是,如果日期是时间戳存储的,需要用这个函数FROM_UNIXTIME用法:

FROM_UNIXTIME(unix_timestamp) , FROM_UNIXTIME(unix_timestamp,format)

%a

工作日的缩写名称  (Sun..Sat)

%b

月份的缩写名称  (Jan..Dec)

%c

月份,数字形式(0..12)

%D

带有英语后缀的该月日期  (0th, 1st, 2nd, 3rd, …)

%d

该月日期, 数字形式 (00..31)

%e

该月日期, 数字形式(0..31)

%f

微秒 (000000..999999)

%H

小时(00..23)

%h

小时(01..12)

%I

小时 (01..12)

%i

分钟,数字形式 (00..59)

%j

一年中的天数 (001..366)

%k

小时 (0..23)

%l

小时 (1..12)

%M

月份名称 (January..December)

%m

月份, 数字形式 (00..12)

%p

上午(AM)或下午( PM)

%r

时间 , 12小时制 (小时hh:分钟mm:秒数ss 后加 AM或PM)

%S

秒 (00..59)

%s

秒 (00..59)

%T

时间 , 24小时制 (小时hh:分钟mm:秒数ss)

%U

周 (00..53), 其中周日为每周的第一天

%u

周 (00..53), 其中周一为每周的第一天

%V

周 (01..53), 其中周日为每周的第一天 ; 和 %X同时使用

%v

周 (01..53), 其中周一为每周的第一天 ; 和 %x同时使用

%W

工作日名称 (周日..周六)

%w

一周中的每日 (0=周日..6=周六)

%X

该周的年份,其中周日为每周的第一天, 数字形式,4位数;和%V同时使用

%x

该周的年份,其中周一为每周的第一天, 数字形式,4位数;和%v同时使用

%Y

年份, 数字形式,4位数

%y

年份, 数字形式 (2位数)

%%

‘%’文字字符

按小时统计某一天相应网站的平均访问时间:

2

selectsys_id,FROM_UNIXTIME(scan_time,'%Y-%m-%d %H')ashour,avg(load_time)asavg_time

fromsys_logwhereFROM_UNIXTIME(scan_time,'%Y-%m-%d')=2013-01-13andsys_id=1groupbyhourorderbyhour

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值