文章同步发表在博主网站朗度云,传输门:http://www.wolfbe.com/detail/201608/291.html
 
在开发或者统计时,我们可能需要统计某个表的数据。比如:查看今天新增的文章、计算本月新增的用户数等。这种类似的需求会有很多,也会很常见,可以使用sql的技巧来完成这些工作。我把用到的一些sql语句做了总结,希望能够给大家提供一些帮助,同时也欢迎大家评论或者留言补充。
 
#===============================================
#昨天  
SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1  
 
#今天  

SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(NOW());

#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  
 
 
#=========================================================

#查询本季度数据

SELECT * FROM 表名 WHERE QUARTER(时间字段名 )=QUARTER(NOW ());  
 

#查询上季度数据

SELECT * FROM 表名 WHERE QUARTER(时间字段名 )=QUARTER(DATE_SUB(NOW (),INTERVAL 1 QUARTER));  
 

#查询本年数据

SELECT * FROM 表名 WHERE  YEAR(时间字段名 )=YEAR(NOW());  
 

#查询上年数据

SELECT * FROM 表名 WHERE YEAR (时间字段名 )=YEAR (DATE_SUB (NOW (),INTERVAL 1 YEAR ));  
 
 
#=========================================================
#查询当前这周的数据   
SELECT * FROM 表名 WHERE  YEARWEEK(DATE_SUB (时间字段名 ,'%Y-%m-%d')) = YEARWEEK(NOW ());  

#查询上周的数据

SELECT * FROM 表名 WHERE  YEARWEEK(DATE_SUB (时间字段名 ,'%Y-%m-%d')) = YEARWEEK(NOW ())-1;  

#查询当前月份的数据

SELECT * FROM 表名 WHERE  DATE_SUB (时间字段名 ,'%Y-%m')=DATE_SUB (NOW (),'%Y-%m')  

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

SELECT * FROM 表名 WHERE 时间字段名 BETWEEN DATE_SUB (NOW (),INTERVAL 6 MONTH) ANDNOW ();  

#查询上个月的数据

SELECT * FROM 表名 WHERE  DATE_SUB (时间字段名 ,'%Y-%m')=DATE_SUB (DATE_SUB(CURDATE(), INTERVAL 1 MONTH),'%Y-%m')  
 
 
 
 

MySQL查询昨天、今天、7天、近30天、本月、上一月数据的更多相关文章

  1. mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法(摘录)

    mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添 ...

  2. mysql查询今天,昨天,近7天,近30天,本月,上一月数据

    近期项目中用到了查询当月数据记录的功能,最初的想法是在逻辑业务里构造好时间段进行查询,当写sql语句时感觉挺麻烦.所以就到网上搜索了一下,看看是不是能有简单的方法.果然.网络资源非常强大.以下结合我的 ...

  3. mysql查询今天,昨天,近7天,近30天,本月,上一月数据的SQL

    原文:http://www.open-open.com/code/view/1423207309170 select * from ad_proTrack_t where to_days(crt_ti ...

  4. Mysql 查询天、周,月,季度、年的数据

    Mysql 查询天.周,月,季度.年的数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 ...

  5. (转载)mysql查询今天、昨天、7天、近30天、本月、上一月数据

    (转载)http://blog.163.com/dreamman_yx/blog/static/26526894201053115622827/ 查询 今天 select * from 表名 wher ...

  6. mysql查询今天、昨天、7天、近30天、本月、上一月 数据

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  7. Mysql查询今天、昨天、7天、近30天、本月、上一月数据

    今天 SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  8. mysql 中sql 语句查询今天、昨天、近7天、近30天、一个月内、上一月数据

    ·1.几个小时内的数据 DATE_SUB(NOW(), INTERVAL 5 HOUR) 1 ·2.今天 select * from 表名 where to_days(时间字段名) = to_days ...

  9. mysql 查询昨天,今天、七天、30天的数据

    主要是时间戳转"1993-01-01 00:00:00"的时间格式,然后和当前时间比对CURDATE() 如果字段本身符合正常时间格式,则直接使用即可 今天的数据 SELECT * ...

随机推荐

  1. linux中deb怎样安装

    deb是Debian Linux的安装格式,跟Red Hat的rpm非常相似,最基本的安装命令是:dpkg -i file.debdpkg 是Debian Package的简写,是为Debian 专门 ...

  2. java静态代理

    WorkIF.java package com.wzh.test; public interface WorkIf { void doWork(String name);} work.java pac ...

  3. Liferay中SQL打印参数

      XX\tomcat-7.0.42\webapps\ROOT\WEB-INF\classes\log4j.properties log4j.rootLogger=INFO, CONSOLE log4 ...

  4. db link的查看创建与删除

    1.查看dblink select owner,object_name from dba_objects where object_type='DATABASE LINK'; 或者 select * ...

  5. zkclient

    zkclient 快速指南 Maven依赖 最新的版本发布在Maven中央库. <dependency> <groupId>com.github.adyliu</grou ...

  6. ppm与毫克/立方米怎么换算

    ppm是溶液浓度(溶质质量分数)的一种表示方法,1升水溶液中有1毫克的溶质,g/m3或mg/L. 对于气体:,一百万体积的空气中所含污染物的体积数. 而按我国规定,特别是环保部门,则要求气体浓度以质量 ...

  7. px、pt、in、dp、dpi

        PPI 与 DPI ppi的运算方式是:PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数.即:长.宽各自平方之和的开方,再除以屏幕对角线的英寸数. 以iphone5为例, ...

  8. [SQL] 不合并重复数据 union all

    select * from A union select * from B --不合并重复行 select * from A union all select * from B --如果要对字段进行排 ...

  9. [ZOJ 1009] Enigma (模拟)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1009 题目大意:给你三个转换轮,只有当第一个转换轮转动一圈后第二 ...

  10. openssl rsa 私钥 PKCS8私钥 公钥

    上文配置好 openssl 运行 => cmd => cd C:\usr\local\ssl\bin => 执行 openssl