MySQL查询指定日期内数据sql(本月本周与上月上周)

今天

  

 代码如下 复制代码
select * from 表名 where to_days(时间字段名)=to_days(now());

昨天

 

 代码如下 复制代码

 SELECT * FROM `表名` where TO_DAYS(NOW()) – TO_DAYS(时间字段名) = 1;

  /*DATEDIFF(now() , FROM_UNIXTIME(`时间字段名`)) = 1; //时间字段 存储类型为时间戳*/

7天

  

 代码如下 复制代码

SELECT * FROM `表名` where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名);

  /*DATEDIFF(now() , FROM_UNIXTIME(`时间字段名`)) = 7; //时间字段 存储类型为时间戳*/

近30天

  

 代码如下 复制代码
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名);

本月

 

 代码如下 复制代码
 SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, '%Y%m' = DATE_FORMAT(CURDATE(), '%Y%m';

查询当前这周的数据 

 代码如下 复制代码
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now());

 
查询上周的数据

 代码如下 复制代码
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;

 

查询当前月份的数据

 代码如下 复制代码
select name,submittime from enterprise   where date_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m')

 
查询距离当前现在6个月的数据

 代码如下 复制代码
 
select name,submittime from enterprise where submittime between date_sub(now(),interval 6 month) and now();

 
查询上个月的数据

 代码如下 复制代码
select name,submittime from enterprise   where date_format(submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
  
select * from `user` where DATE_FORMAT(pudate,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') ;
 
select * from user where WEEKOFYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = WEEKOFYEAR(now())
 
select * 
from user
where MONTH(FROM_UNIXTIME(pudate,'%y-%m-%d')) = MONTH(now())
 
select * 
from [user] 
where YEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = YEAR(now())
and MONTH(FROM_UNIXTIME(pudate,'%y-%m-%d')) = MONTH(now())
 
select * 
from [user] 
where pudate between

上月最后一天
and 下月第一天

时间: 2024-10-27 03:40:30

MySQL查询指定日期内数据sql(本月本周与上月上周)的相关文章

mysql 查询指定日期时间内容sql查询语句

mysql教程 查询指定日期时间内容sql查询语句 在数据库教程设计时必须注意时间字段最好为int(4)这样,保存在数据库的时一个数字型日期时间截,我们可以用mktime函数求出当前日期的时间截进行加减就OK了,下面看实例 $time = time();   //一个月 $lastMonth = mktime(date('h'),date('i'),date('s'),date('m')-1,date('d'),date('y')); $where .= "  dtime < $lastM

sql 查询指定日期时间记录sql语句与查询实例

sql 查询指定日期时间记录sql语句与查询实例  首先创建一个表abc结构如下    CREATE TABLE `cc`.`loup` (  `id` INT( 4 ) NOT NULL AUTO_INCREMENT ,  `datetimes` INT( 4 ) NULL ,  `ipaddress` VARCHAR( 20 ) NULL ,  PRIMARY KEY ( `id` )  ) ENGINE = MYISAM    再批量插入数据    INSERT INTO `loup` (

php+mysql查询指定日期记录 本月数据点击排行

$time = time(); $days = 86400*30; $sql = "select * from test where  $time-updated<$days  order by click_num desc limit 10 "; $db ='daydb'; $query = mysql_db_query($db,$sql,mysql_connect('localhost','root','root')); if( $query ) {  while( $rs

mysql 查询指定日期时间内sql语句实现原理与代码_php技巧

在数据库教程设计时必须注意时间字段为int(11)这样,保存在数据库的是一个数字型日期时间戳,我们可以用mktime函数求出当前日期的时间戳进行加减就OK了,下面看实例 //一个月 复制代码 代码如下: $lastMonth = mktime(date('h'),date('i'),date('s'),date('m')-1,date('d'),date('y')); $where .= " dtime > $lastMonth"; //三个月 复制代码 代码如下: $lastT

mysql查询随机几条数据

MySql查询随机几条数据 想到了 Max RAND 这几个函数 用以下2种办法都可以实现查询. 速度还行. 几十万数据左右, 没有什么问题. SELECT * FROM `news` WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `news`))) LIMIT 10; SELECT * FROM `news` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `new

对MYSQL查询中有疑问的数据进行编码

    6.8 其他主题    本节包括几个主题,这些主题不完全适合于本章从client1到client5 的开发中的任一小节的内容:    ■ 在使用结果集元数据帮助验证这些数据适合于计算之后,使用结果集数据计算结果.    ■ 如何处理很难插入到查询中的数据.    ■ 如何处理图形数据.    ■ 如何获得表结构的信息.    ■ 常见的MySQL程序设计错误及如何避免.    6.8.1在结果集上执行计算    迄今为止,我们集中而主要地使用了结果集元数据来打印行数据,但很明显,除打印之

mysql查询多少秒内的数据显示

mysql教程查询多少秒内的数据显示 $last_update = '';//指定一个日期 if($last_time > 2592000) {  $last_update = intval($last_time/2592000)."个月"; } elseif($last_time > 604800) {  $last_update = intval($last_time/604800)."个星期"; } elseif($last_time > 8

Mysql查询指定某字段顺序排序的两种方法

Mysql查询按照某字段指定顺序排序的两个方法,FIELD和substring_index.  代码如下 复制代码 SELECT * FROM documents WHERE id IN (5,3,6,1) ORDER BY FIELD(id,5,3,6,1); 或者:  代码如下 复制代码 SELECT * FROM documents WHERE id IN (5,3,6,1) ORDER BY substring_index((id,5,3,6,1),id,1);

MySQL复制表结构 表数据sql语句总结

复制整个表  代码如下 复制代码 create table new_table select * from old_table; 复制表,不复制数据  代码如下 复制代码 create table new_table select * from old_table where 0; 主键,索引,自增等其他额外特征不会被带到新表中.这点和其他的数据库产品类似. 上面为核心两句了 1.MySQL复制表结构及数据到新表  代码如下 复制代码 CREATE TABLE `新表` SELECT * FRO