mysql 周处理_mysql按年度、季度、月度、周、日SQL统计查询mysql没有提供unix时间戳的专门处理函数【转】...

源地址:http://www.educity.cn/wenda/399779.html

mysql 按年度、季度、月度、周、日SQL统计查询

mysql没有提供unix时间戳的专门处理函数,所以,如果遇到时间分组,而你用的又是整型unix时间戳,则只有转化为mysql的其他日期类型!

FROM_UNIXTIM()将unix时间戳转为datetime等日期型!

一、年度查询

查询 本年度的数据

SELECT *

FROM blog_article

WHERE year( FROM_UNIXTIME( BlogCreateTime ) ) = year( curdate(

))

二、查询季度数据

查询数据附带季度数

SELECT ArticleId, quarter( FROM_UNIXTIME( `BlogCreateTime` )

)

FROM `blog_article`

其他的同前面部分:查询 本季度的数据

SELECT *

FROM blog_article

WHERE quarter( FROM_UNIXTIME( BlogCreateTime ) ) = quarter(

curdate( ))

三、查询月度数据

本月统计(MySQL)

select * from booking where month(booking_time) =

month(curdate()) and year(booking_time) = year(curdate())

本周统计(MySQL)

select * from spf_booking where month(booking_time) =

month(curdate()) and week(booking_time) = week(curdate())

四、时间段

N天内记录

WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段) <= N

当天的记录

where date(时间字段)=date(now())

where to_days(时间字段) = to_days(now());

查询一周:

select * from table  where DATE_SUB(CURDATE(), INTERVAL 7 DAY)

<= date(column_time);

查询一个月:

select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1

MONTH) <= date(column_time);

查询'06-03'到'07-08'这个时间段内所有过生日的会员:

Select * From user Where

DATE_FORMAT(birthday,'%m-%d') >= '06-03' and

DATE_FORMAT(birthday,'%m-%d')

<= '07-08';

统计一季度数据,表时间字段为:savetime

group by concat(date_format(savetime, '%Y

'),FLOOR((date_format(savetime, '%m ')+2)/3))

select YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3)

+1,count(*)

from yourTable

group by YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1;

五、分组查询

1、年度分组

2、月度分组

3、先按年度分组,再按月度分组

4、按年月分组

SELECT count(ArticleId), date_format(FROM_UNIXTIME(

`BlogCreateTime`),'%y%m') sdate FROM `blog_article` group by

sdate

结果:

count( ArticleId )   sdate

17   0901

11   0902

5   0903

6   0904

2   0905

1   0907

12   0908

6   0909

11   0910

3   0911

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值