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

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

数据

visittime state

2012-08-01 15:12:11 1

2012-08-01 16:14:32 2

2012-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天、下月的数据...相关推荐

  1. mysql查询有什么意义,数据库中的查询到底有什么作用?

    SELECT COUNT( * ) FROM t是个再常见不过的 SQL 需求了.在 MySQL 的使用规范中,我们一般使用事务引擎 InnoDB 作为(一般业务)表的存储引擎,在此前提下,COUNT ...

  2. 报表下拉框多选查询及一般在sql中添加查询条件

    1.sql SELECT * FROM [销量] where 1=1 ${if(len(销售员1) == 2,"","and 销售员 in (" + 销售员1 ...

  3. MYSQL查询今天、昨天、7天前、30天、本月数据

    原文地址:https://www.cnblogs.com/levy2013/p/7267382.html 今天: SELECT * FROM 表名 WHERE TO_DAYS( 时间字段名) = TO ...

  4. oracle 查询字段除了as,Oracle中怎样查询数据表的哪个字段是主键

    工作中要用到 Oracle 10g,经常要向其中的某张表插入事件发生的日期及时间.专门就 Oracle 的日期及时间显示方式和插入方式记一笔 工作中要用到 Oracle 10g,经常要向其中的某张表插 ...

  5. es查询大文本效率_es中terms查询速度能否优化

    es表结构如下:PUT demo/ { "mappings": { "demo": { "_all": { "enabled&qu ...

  6. mysql中查询本月销售记录_mysql之select查询:练习

    单表查询: 数据查询命令:select 识别要查询的列 from识别要查询的表 select 运算符: + .-.*./. 加减乘除 等于= 不等于!= 或 <> 大于等于>= 小于 ...

  7. mysql 查询语句属性值_MySQL学习——SQL查询语句(一)

    查询数据是指从数据库中获取所需要的数据,查询数据是数据库操作中最常用也是最重要的操作,用户可以根据对数据的需求,使用不同的查询方式,通过不同的查询方式可以获得不同的数据,在MySQL中使用select ...

  8. MySQL从入门到精通:多表查询的灵活运用_02

    我是 ABin-阿斌:写一生代码,创一世佳话,筑一揽芳华. 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦. 上一篇:MySQL从入门到精通:基本语法介绍与使用_01 下一篇:MySQL从 ...

  9. mysql 按月分表的查询_mysql按月分表, 组合查询

    每个月月底最后一天建好下个月的空表 或每年底建1到12月的空表 , table_201901,table_201902,table_201903 增加记录不需要修改,insert到当月对应表就好了. ...

  10. expressjs如何做mysql注入_Node.js+Express+Mysql 实现增删改查

    这次选用nodejs+express+mysql 使用http作为客户端,express框架搭建服务端,从而实现数据的增删改查.这篇文章可以算作上篇文章的升级篇,加入了和数据库的交互. 安装 node ...

最新文章

  1. Web 2.0技术对SEO的影响
  2. Windows如何读取Linux,Linux下读取Windows注册表
  3. mysql慢查询单位_MySQL慢查询
  4. 空格分隔输出(信息学奥赛一本通-T1026)
  5. GNN手绘草图识别新架构:Multi-Graph Transformer 网络
  6. Java基础语法及其经验总结
  7. oracle排序后第一条,Oracle排序取第一条数据
  8. ftp 工具_ftp,win7的ftp工具
  9. 以色列证实上周末对伊朗核设施发动了网络攻击
  10. sql中根据逗号分隔,查出多行数据
  11. 编译OpenJDK8:CoreLibraries.gmk:37/e_acos.obj/BuildJdk.gmk:70/Main.gmk:116/错误
  12. flash builder 4 序列号
  13. 如何破解校园网wifi?怎样破解校园网不能共享wifi?校园网路由器如何破解?
  14. mac虚拟机服务器设置u盘启动不了怎么办,苹果MacBook Air u盘启动不了怎么办?
  15. 打造一款属于自己的短视频webApp(Vite搭建React Hooks+Recoil+Antd)
  16. 免费,好用的天气预报API
  17. 简化 Spring 控制器:只须写接口即可
  18. 安卓开发常用icon/png图样
  19. 滚动条兼容火狐浏览器
  20. Asterisk修改call file源代码(pbx_spool.c)以支持邀请PJSIP webrtc分机

热门文章

  1. Elliptic Labs和小米联手打造旗舰智能手机小米Mi 11
  2. AIGC万字百科全书:底层原理、应用场景、工具示例、行业现状、发展趋势
  3. 一个计算机爱好者的不完整回忆(五)
  4. CentOS 7 启动Tomcat 报错 “ ./startup.sh: Permission denied” 解决方案及问题总结
  5. PowerPC家谱史
  6. win7 64位系统与32系统的区别
  7. JS实现点击按钮滑动
  8. 在 Linux 里实现 FriendlayARM 提供的 SD-Flasher.exe工具的功能
  9. SAP 如何设置反记账
  10. VA、RVA、FOA