失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql 查询最近24小时 mysql中怎么查询最近24小时 昨天 最近7天 下周 最近30天 下月的数据...

mysql 查询最近24小时 mysql中怎么查询最近24小时 昨天 最近7天 下周 最近30天 下月的数据...

时间:2020-01-07 10:44:59

相关推荐

mysql 查询最近24小时 mysql中怎么查询最近24小时 昨天 最近7天 下周 最近30天 下月的数据...

mysql中如何查询最近24小时、昨天、最近7天、上周、最近30天、上月的数据

在数据表中使用date列保存yyyy.MM.dd HH:MM:SS格式的时间记录,mysql中如何查询最近24小时、昨天、最近7天、上周、最近30天、上月的数据记录?

数据

visittime state

-08-01 15:12:11 1

-08-01 16:14:32 2

-08-01 17:13:58 3

SELECT hour(visittime) as visittime, sum(if(state=1,1,0)) as sum1,sum(if(state=2,1,0)) as sum2,sum(if(state=3,1,0)) as sum3

FROM ads_show_log where to_days(visittime) = to_days(now())

group by hour(visittime)

我这样写结果是

visittime sum1 sum2 sum3

15 1 0 0

16 0 1 0

17 0 0 1

我想要的结果是

visittime sum1 sum2 sum3

0 0 0 0

1 0 0 0

2 0 0 0

3 0 0 0

4 0 0 0

15 1 0 0

16 0 1 0

17 0 0 1

.....

23 0 0 0

sql语句要怎么写啊

------解决方案--------------------

zz

MySQL日期时间函数大全

DAYOFWEEK(date)

返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)

mysql> select DAYOFWEEK('1998-02-03');

-> 3

WEEKDAY(date)

返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。

mysql> select WEEKDAY('1997-10-04 22:23:00');

-> 5

mysql> select WEEKDAY('1997-11-05');

-> 2

DAYOFMONTH(date)

返回date是一月中的第几日(在1到31范围内)

mysql> select DAYOFMONTH('1998-02-03');

-> 3

DAYOFYEAR(date)

返回date是一年中的第几日(在1到366范围内)

mysql> select DAYOFYEAR('1998-02-03');

-> 34

MONTH(date)

返回date中的月份数值

mysql> select MONTH('1998-02-03');

-> 2

DAYNAME(date)

返回date是星期几(按英文名返回)

mysql> select DAYNAME("1998-02-05");

-> 'Thursday'

MONTHNAME(date)

返回date是几月(按英文名返回)

mysql> select MONTHNAME("1998-02-05");

-> 'February'

QUARTER(date)

返回date是一年的第几个季度

mysql> select QUARTER('98-04-01');

-> 2

WEEK(date,first)

返回date是一年的第几周(first默认值0,first取值1表示周一是周的开始,0从周日开始)

mysql> select WEEK('1998-02-20');

-> 7

mysql> select WEEK('1998-02-20',0);

-> 7

mysql> select WEEK('1998-02-20',1);

-> 8

YEAR(date)

返回date的年份(范围在1000到9999)

mysql> select YEAR('98-02-03');

-> 1998

HOUR(time)

返回time的小时数(范围是0到23)

mysql> select HOUR('10:05:03');

-> 10

MINUTE(time)

返回time的分钟数(范围是0到59)

mysql> select MINUTE('98-02-03 10:05:03');

-> 5

SECOND(time)

返回time的秒数(范围是0到59)

mysql> select SECOND('10:05:03');

-> 3

PERIOD_ADD(P,N)

增加N个月到时期P并返回(P的格式YYMM或YYYYMM)

mysql> select PERIOD_ADD(9801,2);

-> 199803

PERIOD_DIFF(P1,P2)

返回在时期P1和P2之间月数(P1和P2的格式YYMM或YYYYMM)

mysql> select PERIOD_DIFF(9802,199703);

-> 11

DATE_ADD(date,INTERVAL expr type)

DATE_SUB(date,INTERVAL expr type)

ADDDATE(date,INTERVAL expr type)

SUBDATE(date,INTERVAL expr type)

对日期时间进行加减法运算

(ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词,也可以用运算符 和-而不是函数

date是一个DATETIME或DATE值,expr对date进行加减法的一个表达式字符串type指明表达式expr应该如何被解释

[type值 含义 期望的expr格式]:

SECOND 秒 SECONDS

MINUTE 分钟 MINUTES

HOUR 时间 HOURS

DAY 天 DAYS

MONTH 月 MONTHS

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

如果觉得《mysql 查询最近24小时 mysql中怎么查询最近24小时 昨天 最近7天 下周 最近30天 下月的数据...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。