【转帖】mysql 按月统计

上一篇 / 下一篇  2012-09-04 15:43:18 / 个人分类:java

http://navylee.iteye.com/blog/740702

http://blog.csdn.net/wgllz/article/details/5334764

mysql有个字段是DATETIME类型,我可以按月统计么,该怎么写sql语句? 

select month(f1) from tt group by month(f1) 
or 
select DATE_FORMAT(f1,'%m')  from tt group by DATE_FORMAT(f1,'%m')

 

比如数据库的为2008-01-15 12:10:00 
则DATE_FORMAT的参数格式分别得到的结果为: 
'%Y'  2008 
'%Y-%m'  2008-01 
'%Y-%c'  2008-1 
'%m'  01 
'%c'  1

 

 

 

Date_format可以使用的格式有:

 

格式

描述

%a

缩写星期名

%b

缩写月名

%c

月,数值

%D

带有英文前缀的月中的天

%d

月的天,数值(00-31)

%e

月的天,数值(0-31)

%f

微妙

%H

小时 (00-23)

%h

小时 (01-12)

%I

小时 (01-12)

%i

分钟,数值(00-59)

%j

年的天 (001-366)

%k

小时 (0-23)

%l

小时 (1-12)

%M

月名

%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

年,其中的星期日是周的第一天,位,与 %V 使用

%x

年,其中的星期一是周的第一天,位,与 %v 使用

%Y

年,

%y

年,

 

按季度存数据

select YEAR(procurement_dt)*10+((MONTH(procurement_dt)-1) DIV 3) +1, MONTH(procurement_dt) , procurement_dt from xs001

 

group by concat(date_format(savetime, '%Y '),FLOOR((date_format(savetime, '%m ')+2)/3))


TAG:

 

评分:0

我来说两句

Open Toolbar