您的位置:首页 > 数据库 > MySQL

Mysql统计昨日今日本月本周数据

2016-01-11 11:36 831 查看
一、SQL示例

1、统计本周数据

SELECT COUNT(*)  FROM system_log WHERE  WEEK(FROM_UNIXTIME(update_time))=WEEK(NOW())


2、统计本月数据

SELECT COUNT(*)  FROM system_log WHERE  MONTHNAME(FROM_UNIXTIME(update_time))=MONTHNAME(NOW())


3、统计本日数据

SELECT COUNT(*)  FROM system_log WHERE  FROM_UNIXTIME(update_time,'%Y-%m-%d')=CURDATE()


4、统计昨日数据

SELECT COUNT(*)  FROM system_log WHERE  FROM_UNIXTIME(update_time,'%Y-%m-%d')=DATE_ADD(CURDATE(),INTERVAL '-1' DAY)


二、Mysql日期和时间函数介绍

FROM_UNIXTIME(date):返回UNIX时间轴的日期值 ,如:2016-01-08 10:19:51.000000

WEEK(date) : 返回日期date为一年中的第几周

NOW() :返回当前日期值 ,如 2016-01-11 10:55:14

MONTHNAME(date) :返回date的月份名 ,如 January

CURDATE() : 返回当前日期,如 2016-01-11

CURTIME() : 返回当前时间,如 11:00:00

YEAR(date) :返回日期date的年份

HOUR(date) : 返回日期date的小时值

MINUTE(date) : 返回日期date的小时值

DATEDIFF (expr1,expr2) :返回日期expr1和日期expr2间隔的天数

DATE_FORMAT(date,fmt) :返回按照fmt格式化date的值,如 DATE_FORMAT(NOW(),'%Y,%m,%d') 格式化成 :2016,01,11

DATE_ADD(date,INTERVAL expr type) : 返回与所给日期date相差INTERVAL时间段的日期,expr的格式需与type对应

如:DATE_ADD(NOW(),INTERVAL '1_2' YEAR_MONTH) 返回与当前日期2016-01-11 11:17:46 相差1年两个月的日期:2017-03-11 11:17:46

如果需要返回之前的某个日期,需要加负号,如:DATE_ADD(NOW(),INTERVAL '-1_-2' YEAR_MONTH)

type可选值如下图:




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: