文章同步发表在博主网站朗度云,传输门: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. Maven内置隐式变量(转)

    Maven提供了三个隐式的变量可以用来访问环境变量,POM信息,和Maven Settings env env变量,暴露了你操作系统或者shell的环境变量.便 如在Maven POM中一个对${en ...

  2. Zabbix监控mysql配置及故障告警配置

    本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况.同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配 ...

  3. Informix如何释放异常的锁资源

    问题 在Informix数据库中,锁的使用和释放是自动完成的.但在某些异常情况下,当前台程序退出(正常或异常)后,相应在数据库中的会话没有终止,其占有的资源(主要是锁)没有被释放,影响了其他用户的使用 ...

  4. 破解ckfinder2.3 去除版本号和标题提示

    1.找到ckfinder.js 2.找到这样的字符串 <h4 class='message_content'></h4> 3.改成这样 <h4 style='displa ...

  5. flask test_client设置cookies

    class TestCase(unittest.TestCase): session = None def setUp(self): self.app = create_app() self.app. ...

  6. NYOJ 55-懒省事的小明

    点击打开链接 懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果 ...

  7. SQL(Oracle)

    http://blog.csdn.net/winter13292/article/details/7011377 SQL 对大小写不敏感!  在 SQL 中增加 HAVING 子句原因是,WHERE ...

  8. 解决删除/升级Python导致Ubuuntu无法进入桌面的问题

    找到问题的原因后于是换个思路,想大概修复了python,Ubuntu进入桌面应该也就没啥问题了.于是重新安装Python发现还是无济于事.也通过/usr/bin/python: can't find ...

  9. rsync安装使用

    安装 yum install rsync mkdir /etc/rsyncd cd /etc/rsyncd vi rsyncd.conf pid file = /var/run/rsyncd.pid ...

  10. linux中django+apache配置

    配置apahce通过mod_wsgi访问django代码,最终通过版本说明: Apache/2.0.63 (Unix) DAV/2 mod_wsgi/3.5 Python/2.6.6 下面讲述一波三折 ...