今天
SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(now());
昨天
SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名) <= 1
7天
SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)
近30天
SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)
本月
SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, ‘%Y%m’ ) = DATE_FORMAT( CURDATE( ) , ‘%Y%m’ )
上一月
SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , ‘%Y%m’ ) , date_format( 时间字段名, ‘%Y%m’ ) ) =1
Mysql查询今天、昨天、7天、近30天、本月、上一月数据
标签:_for mysql 字段 from int curd rom 时间 date()
小编还为您整理了以下内容,可能对您也有帮助:
MYSQL查询语句问题 查询当月和上一月的查询语句怎么写?
select
*
from
shipmentlist,shipmentscrib
where
(shipmentlist.shipmentlistno=shipmentscrib.shipmentlistno)
and (year(shipmentlist.shipmentdate)=year(now()))
and (month(shipmentlist.shipmentdate)=month(now())
or month(shipmentlist.shipmentdate)=month(now())-1 )
ORDER BY shipmentdate DESC
格式化了一下你的SQL,分析一下。
假如今天是 2012年1月1日。
那么上面的条件。
将变为
year = 2012 and month = 1 OR month = 0
其实,对于 查询 当月和上一月
相当于
shipmentlist.shipmentdate >= 上月的1号
AND shipmentlist.shipmentdate < 下月的1号
LAST_DAY(NOW()) 可以获取 本月的最后一天.
DATE_ADD( LAST_DAY(NOW()) INTERVAL 1 DAY ) 可以获取下月第一天。
DATE_SUB ( DATE_ADD( LAST_DAY(NOW()) INTERVAL 1 DAY ) INTERVAL 2 MONTH ) 可以获取上月的1号
(也就是用 下月的1号 减少2个月,从而获取 上月的1号)
最后 SQL 修改为:
select
*
from
shipmentlist,shipmentscrib
where
(shipmentlist.shipmentlistno=shipmentscrib.shipmentlistno)
and shipmentlist.shipmentdate >= DATE_SUB ( DATE_ADD( LAST_DAY(NOW()) INTERVAL 1 DAY ) INTERVAL 2 MONTH )
AND shipmentlist.shipmentdate < DATE_ADD( LAST_DAY(NOW()) INTERVAL 1 DAY )
ORDER BY shipmentdate DESC
MYSQL查询语句问题 查询当月和上一月的查询语句怎么写?
select
*
from
shipmentlist,shipmentscrib
where
(shipmentlist.shipmentlistno=shipmentscrib.shipmentlistno)
and (year(shipmentlist.shipmentdate)=year(now()))
and (month(shipmentlist.shipmentdate)=month(now())
or month(shipmentlist.shipmentdate)=month(now())-1 )
ORDER BY shipmentdate DESC
格式化了一下你的SQL,分析一下。
假如今天是 2012年1月1日。
那么上面的条件。
将变为
year = 2012 and month = 1 OR month = 0
其实,对于 查询 当月和上一月
相当于
shipmentlist.shipmentdate >= 上月的1号
AND shipmentlist.shipmentdate < 下月的1号
LAST_DAY(NOW()) 可以获取 本月的最后一天.
DATE_ADD( LAST_DAY(NOW()) INTERVAL 1 DAY ) 可以获取下月第一天。
DATE_SUB ( DATE_ADD( LAST_DAY(NOW()) INTERVAL 1 DAY ) INTERVAL 2 MONTH ) 可以获取上月的1号
(也就是用 下月的1号 减少2个月,从而获取 上月的1号)
最后 SQL 修改为:
select
*
from
shipmentlist,shipmentscrib
where
(shipmentlist.shipmentlistno=shipmentscrib.shipmentlistno)
and shipmentlist.shipmentdate >= DATE_SUB ( DATE_ADD( LAST_DAY(NOW()) INTERVAL 1 DAY ) INTERVAL 2 MONTH )
AND shipmentlist.shipmentdate < DATE_ADD( LAST_DAY(NOW()) INTERVAL 1 DAY )
ORDER BY shipmentdate DESC
MYSQL怎么查询数据今天、昨天的数据?
SELECT * FROM 表 DATE(createtime) = (php) DATE("Y-m-d")
SELECT * FROM 表 DATE(createtime) = (php) DATE("Y-m-d",strtotime('-1day'))
等号后面是php函数,追问还是不行,数据库里的时间格式:2012-12-04 23:20:07
用PHP执行SQL语句,等于当天的数据返回为0,现在怎么办呢,请教了
MYSQL怎么查询数据今天、昨天的数据?
SELECT * FROM 表 DATE(createtime) = (php) DATE("Y-m-d")
SELECT * FROM 表 DATE(createtime) = (php) DATE("Y-m-d",strtotime('-1day'))
等号后面是php函数,追问还是不行,数据库里的时间格式:2012-12-04 23:20:07
用PHP执行SQL语句,等于当天的数据返回为0,现在怎么办呢,请教了
mysql 中如何查询已过七天的记录??
mysql中如何查询最近24小时、
where visittime >= NOW() - interval 1 hour;
昨天、
where visittime between CURDATE()-interval 1 day and CURDATE();
最近7天、
where visittime between CURDATE()-interval 7 day ;
上周、
where week(visittime)= week(CURDATE()-interval 7 day )
and year(visittime)=year(CURDATE()-interval 7 day )
最近30天、
where visittime between CURDATE()-interval 30 day ;
mysql 中如何查询已过七天的记录??
mysql中如何查询最近24小时、
where visittime >= NOW() - interval 1 hour;
昨天、
where visittime between CURDATE()-interval 1 day and CURDATE();
最近7天、
where visittime between CURDATE()-interval 7 day ;
上周、
where week(visittime)= week(CURDATE()-interval 7 day )
and year(visittime)=year(CURDATE()-interval 7 day )
最近30天、
where visittime between CURDATE()-interval 30 day ;
MYSQL查询一周内的数据(最近7天的)怎么写
select * from wap_content where week(created_at) = week(now)
如果要严格要求是某一年的,那可以这样
查询一天:
select * from table where to_days(column_time) = to_days(now());
select * from table where date(column_time) = curdate();
查询一周:
select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);
查询一个月:
select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <=
date(column_time);
查询一年:
select * from table where DATE_SUB(CURDATE(), INTERVAL 1 YEAR) <= date(column_time);
扩展资料
mysql查询最近7天的数据:
1,(以当天为起点)
SELECT * FROM tb_equity e where DATE_SUB(CURDATE(), INTERVAL 6 DAY) <=
date(createdate)
2,(以数据库最新的时间最为最近的一天)
SELECT * FROM tb_equity e where createdate > DATE_ADD((select createdate from tb_equity
ORDER BY createdate DESC limit 1) ,INTERVAL -7 day)
and (select createdate from tb_equity ORDER BY createdate DESC limit 1) >= createdate
3,sql查询表中的重复数据
select * from 表名 where 字段名 in (select 字段名 from 表名 group by 字段名 HAVING COUNT(*)
> 1) order by 表名
参考资料来源:百度百科 - 结构化查询语言
参考资料来源:百度百科 - mySQL (关系型数据库管理系统)
参考资料来源:百度百科 - select (Linux 网络编程)
PHP+mysql 查询 今天,昨天,最近7天的数据?
今天
select * from 表名 where mytime(时间字段名) = mytime(now());
昨天
select * from 表名 where mytime( now( ) ) - mytime( 时间字段名) <= 1
7天
select * from 表名 where date_sub(cur(), interval(7 day <= date(时间字段名)