mysql查询指定日期时间内的sql语句及原理

发布时间:2020-12-04编辑:脚本学堂
查询指定日期时间内的sql语句的实现原理:如果是月份就是当前的月减去你要统计的时间,比如要查询数据库中从今天起往前三个月的所有记录。

查询指定日期时间内的sql语句的实现原理:
如果是月份就是当前的月减去你要统计的时间,比如要查询数据库中从今天起往前三个月的所有记录。
另外,在数据库设计阶段,要注意时间字段为int(11),保存在数据库的是一个数字型日期时间戳,可以用mktime函数求出当前日期的时间戳进行加减。

来看下面的例句。
 

复制代码 代码如下:

//一个月
$lastMonth = mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-1,date(‘d'),date(‘y'));
$where .= ” dtime > $lastMonth”;

//三个月
$lastThreeMonth = mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-3,date(‘d'),date(‘y'));
$where .= ” dtime > $lastThreeMonth”;

$sql = “select * from testtable ” .$where

原理分析:
如果是月份就是当前的月减去你要统计的时间,比如要查询数据库中从今天起往前三个月的所有记录,语句就是:mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m')-3,date(‘d'),date(‘y'));
七天内: mktime(date(‘h'),date(‘i'),date(‘s'),date(‘m'),date(‘d')-7,date(‘y'));
一小时间内: mktime(date(‘h')-1,date(‘i'),date(‘s'),date(‘m'),date(‘d'),date(‘y'));
上个月第一天: mktime(0,0,0,date(‘m')-1,01,date(‘Y'));
上个月最后一天: mktime(0,0,0,date(‘m'),0,date(‘y'));
本月第一天:就是01了;
本月最后一天:要用到date函数,date函数有一个参数t,是用来求最后一天的;如:date(‘t')。
其它的做法是一样的。
 

您可能感兴趣的文章:
Mysql 按年度、季度、月度、周、日统计查询的例子
mysql按年度、季度、月度、周、日统计查询的sql语句
mysql查询:上周、月、季度、年和本周、月、季度、年
实现mysql按月统计的教程