Mysql查询最近时间内信息的sql,DATA_SUM、DATA_ADD
来源:互联网 发布:云计算 英文翻译 编辑:程序博客网 时间:2024/05/29 03:04
首先是一个查询最近五天信息汇总的查询
SELECT SUM(orderMoney) FROM UserOrder where orderDate > DATE_SUB((select orderDate from UserOrder ORDER BY orderDate DESC limit 1) ,INTERVAL 5 day) and orderState =1;
SELECT SUM(orderMoney) FROM UserOrder where orderDate > DATE_ADD((select orderDate from UserOrder ORDER BY orderDate DESC limit 1) ,INTERVAL -5 day) and orderState =1;
需求是查询最近五天的总收入
解释:DATE_SUB() 函数从日期减去指定的时间间隔。DATE_ADD(date,INTERVAL expr type)从指定日期加上指定的时间间隔
CURDATE()表示当前的系统时间(日期),另有CURTIME()表示当前的系统时间(时分秒)
date(表中的时间字段)
详细解释
mysql 中 DATE_ADD(date,INTERVAL expr type) 和 DATE_SUB(date,INTERVAL expr type)
这些函数执行日期运算。 date 是一个 DATETIME 或DATE值,用来指定起始时间。 expr 是一个表达式,用来指定从起始日期添加或减去的时间间隔值。 Expr是一个字符串;对于负值的时间间隔,它可以以一个 ‘-’开头。 type 为关键词,它指示了表达式被解释的方式。
关键词INTERVA及 type 分类符均不区分大小写。
mysql中内置函数date_add和date_sub能对指定的时间进行增加或减少一个指定的时间间隔,语法如下:
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
其中date是指定的日期,INTERVAL为关键词,expr是具体的时间间隔,type是时间单位。注意:type可以复合型的,比如YEAR_MONTH。如果type不是复合型的,DATE_ADD和DATE_SUB其实可以通用,因为expr可以为一个负数。可用的type如下表:
对应复合型的type,需要使用引号对两个参数进行引用起来,中间用任何非数字字符作为间隔即可,并且不能使用负数。但是时间间隔只指定了一个值,那么也能正常工作,但是对应XXX_YYY使用的单位为YYY,也就相当于单一单位的type,同时可以使用负数。复合型的用法如下:
代码如下复制代码mysql> select date_add('2013-01-18', interval '1 2' YEAR_MONTH);
+-----------------------------------------------------+
| date_add('2013-01-18', interval '1 2' YEAR_MONTH) |
+-----------------------------------------------------+
| 2014-03-18 |
+-----------------------------------------------------+
mysql> select date_add('2013-01-18', interval '1-2' YEAR_MONTH);
+----------------------------------------------------+
| date_add('2013-01-18', interval '1-2' YEAR_MONTH) |
+----------------------------------------------------+
| 2014-03-18 |
+----------------------------------------------------+
mysql> select date_add('2013-01-18', interval '1,2' YEAR_MONTH);
+---------------------------------------------------+
| date_add('2013-01-18', interval '1,2' YEAR_MONTH) |
+---------------------------------------------------+
| 2014-03-18 |
+---------------------------------------------------+
mysql> select date_add('2013-01-18', interval 1 YEAR_MONTH);
+-----------------------------------------------+
| date_add('2013-01-18', interval 1 YEAR_MONTH) |
+-----------------------------------------------+
| 2013-02-18 |
+-----------------------------------------------+
mysql> select date_add('2013-01-18', interval -1 YEAR_MONTH);
+------------------------------------------------+
| date_add('2013-01-18', interval -1 YEAR_MONTH) |
+------------------------------------------------+
| 2012-12-18 |
+------------------------------------------------+
mysql 中 DATE_ADD(date,INTERVAL expr type) 和 DATE_SUB(date,INTERVAL expr type)
这些函数执行日期运算。 date 是一个 DATETIME 或DATE值,用来指定起始时间。 expr 是一个表达式,用来指定从起始日期添加或减去的时间间隔值。 Expr是一个字符串;对于负值的时间间隔,它可以以一个 ‘-’开头。 type 为关键词,它指示了表达式被解释的方式。
关键词INTERVA及 type 分类符均不区分大小写。
mysql中内置函数date_add和date_sub能对指定的时间进行增加或减少一个指定的时间间隔,语法如下:
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
其中date是指定的日期,INTERVAL为关键词,expr是具体的时间间隔,type是时间单位。注意:type可以复合型的,比如YEAR_MONTH。如果type不是复合型的,DATE_ADD和DATE_SUB其实可以通用,因为expr可以为一个负数。可用的type如下表:
对应复合型的type,需要使用引号对两个参数进行引用起来,中间用任何非数字字符作为间隔即可,并且不能使用负数。但是时间间隔只指定了一个值,那么也能正常工作,但是对应XXX_YYY使用的单位为YYY,也就相当于单一单位的type,同时可以使用负数。复合型的用法如下:
代码如下复制代码mysql> select date_add('2013-01-18', interval '1 2' YEAR_MONTH);
+-----------------------------------------------------+
| date_add('2013-01-18', interval '1 2' YEAR_MONTH) |
+-----------------------------------------------------+
| 2014-03-18 |
+-----------------------------------------------------+
mysql> select date_add('2013-01-18', interval '1-2' YEAR_MONTH);
+----------------------------------------------------+
| date_add('2013-01-18', interval '1-2' YEAR_MONTH) |
+----------------------------------------------------+
| 2014-03-18 |
+----------------------------------------------------+
mysql> select date_add('2013-01-18', interval '1,2' YEAR_MONTH);
+---------------------------------------------------+
| date_add('2013-01-18', interval '1,2' YEAR_MONTH) |
+---------------------------------------------------+
| 2014-03-18 |
+---------------------------------------------------+
mysql> select date_add('2013-01-18', interval 1 YEAR_MONTH);
+-----------------------------------------------+
| date_add('2013-01-18', interval 1 YEAR_MONTH) |
+-----------------------------------------------+
| 2013-02-18 |
+-----------------------------------------------+
mysql> select date_add('2013-01-18', interval -1 YEAR_MONTH);
+------------------------------------------------+
| date_add('2013-01-18', interval -1 YEAR_MONTH) |
+------------------------------------------------+
| 2012-12-18 |
+------------------------------------------------+
- Mysql查询最近时间内信息的sql,DATA_SUM、DATA_ADD
- SQL语句查询时间内的数据
- sql查询某段时间内的数据
- 根据时间查询最近一周时间内的数据库
- mysql查询指定时间内的数据
- Mysql如何查询连续时间内的次数
- MySql查询某段时间内的数据
- sql data_add()函数
- MySQL的Data_ADD函数与日期格式化函数说明
- MySQL的Data_ADD函数与日期格式化函数说明
- mysql 查询指定日期时间内的数据代码
- 查询mysql表字段信息的sql语句
- ORACLE和MYSQL查询表字段信息的sql
- Mysql联表查询、查询近期某段时间内的数据等
- 最近遇到的mysql查询的问题
- sql 查询最近一次日期的访问
- 获取最近查询的SQL语句
- --查询最近执行的Sql语句
- python爬虫模拟登陆知乎网
- 数据库视频学习总结(一)
- form打开执行app_folder.event('INSTANTIATE'); 时卡住
- linux学习第四篇:克隆虚拟机以及两台linux机器相互登录
- 滑动窗口的实例学习 (Unique snowflakes, Uva 11572)
- Mysql查询最近时间内信息的sql,DATA_SUM、DATA_ADD
- String和StringBuffer的区别
- Android-Material-Sloth
- 云计算中的术语
- 具有特殊局部性质的一个3SAT问题实例的线性时间复杂度的分治求解
- leetCode Q2:Add Two Numbers(java)
- systemctl 命令完全指南
- EpisodeListView
- 用汇编语言实现在210实现流水灯