`
阅读更多

求出一周数据排行榜
  select *from DOWNLOADRECORDS  where DOWNLOADRECORDS_TIME>DATE_SUB(now(),INTERVAL 7 DAY);
求出24小时内数据排行榜
  select *from DOWNLOADRECORDS  where DOWNLOADRECORDS_TIME>DATE_SUB(now(),INTERVAL 1 DAY)
求出一月内数据排行榜
  select *from DOWNLOADRECORDS  where DOWNLOADRECORDS_TIME>DATE_SUB(now(),INTERVAL 1 MONTH)


为日期增加一个时间间隔:date_add()
set @mydate = now();
select date_add(@mydate, interval 1 day);   //加1天
select date_add(@mydate, interval 1 hour);   //加1小时
select date_add(@mydate, interval 1 minute);    // 加1分钟
select date_add(@mydate, interval 1 second); //加1秒
select date_add(@mydate, interval 1 microsecond);//加1毫秒
select date_add(@mydate, interval 1 week);//加1周
select date_add(@mydate, interval 1 month);//加1月
select date_add(@mydate, interval 1 quarter);//加1季
select date_add(@mydate, interval 1 year);//加1年
select date_add(@mydate, interval '01:15:30' hour_second);//加上1小时15分30秒
select date_add(@mydate, interval '1 01:15:30' day_second);//加1天 1小时15分30秒
为mysql减去一个时间间隔把data_add改成data_sub就ok了呵呵

MySql查询时间段的两种方法2010-03-22 10:52  MySql的时间字段有date、time、datetime、timestamp等,往往我们在存储数据的时候将整个时间存在一个字段中,采用datetime类型;也可能采用将日期和时间分离,即一个字段存储date,一个字段存储时间time。无论怎么存储,在实际应用中,很可能会出现包含“时间段”类型的查询,比如一个访问记录数据库,需要统计每天的访问数量,这个每天就是一个时间段。下面介绍MySql查询时间段的两种常见方法,其他数据库也可以类似实现。

方法一:传统方式,即指定开始时间和结束时间,用"between”或者"<",">"来建立条件,比如查询2010年3月1日到2010年3月2日的数据条数,则可以使用

select count(*) from tablename where datetimecolumn>='2010-03-01 00:00:00' and
datetimecolumn<'2010-03-02 00:00:00'

  但是,这种方法由于时间不是整数型数据,所以在比较的时候效率较低,所以如果数据量较大,可以将时间转换为整数型的UNIX时间戳,这就是方法二。

方法二:UNIX时间戳,每个时间对应了一个唯一的UNIX时间戳,该时间戳是从'1970-01-01 00:00:00' 为0开始计时,每秒增加1。MySql内置了传统时间和UNIX时间的互换函数,分别为

UNIX_TIMESTAMP(datetime)
FROM_UNIXTIME(unixtime)

比如运行SELECT UNIX_TIMESTAMP('2010-03-01 00:00:00')

返回1267372800

运行SELECT FROM_UNIXTIME(1267372800)

返回'2010-03-01 00:00:00'

  于是,我们可以将时间字段里的数据替换为整型的UNIX时间,这样,比较时间就成为整数比较了,建立索引后能大大提高效率。在查询的时候,需要把起点时间和结尾时间分别转换为UNIX时间再进行比较,如

select count(*) from tablename where datetimecolumn>=UNIX_TIMESTAMP('2010-03-01 00:00:00') and
datetimecolumn<UNIX_TIMESTAMP('2010-03-02 00:00:00')

  也可以在调用程序中先转换为UNIX时间再传入MySql,总之这种方式有利于快速查询时间段,不过显示时间则需要再反转一次。

分享到:
评论

相关推荐

    MySql 按时间段查询数据方法(实例说明)

    本文将详细说明如何使用MySQL进行按时间段查询数据的方法,包括操作示例和说明。 首先,我们必须了解MySQL中处理时间数据的函数。例如,`curdate()` 函数用于获取当前日期,而 `month()` 函数可以提取日期或时间...

    Mysql 时间模糊查询

    本文将详细介绍几种常见的MySQL时间模糊查询方法,并通过实例加以说明。 #### 二、模糊查询的基本概念 模糊查询是指不精确地匹配查询条件的一种查询方式。在MySQL中,模糊查询主要通过`LIKE`关键字实现。例如,...

    使用LabVIEW操作ACCESS、MySQL、SQL server数据库实现按照时间段查询数据

    在LabVIEW中操作数据库,尤其是实现按时间段查询数据,需要借助特定的工具包。本教程主要涉及使用官方数据库工具包“Database Connectivity Toolkit”,该工具包包含29个函数,能够实现数据库连接、增删改查及数据...

    mysql时间段查询.pdf

    mysql时间段查询.pdf

    mysql 分库分表查询工具-shard.zip

    MySQL 分库分表查询工具——Shard 在大型的互联网应用中,数据库的性能瓶颈往往成为系统扩展性的关键因素。为了应对高并发、大数据量的挑战,MySQL 数据库的分库分表策略被广泛采用。分库是将数据分散到多个独立的...

    使用Between查询时间段.rar

    本篇文章将深入探讨如何使用`BETWEEN`来查询时间段。 一、`BETWEEN`的基本语法 `BETWEEN`的关键字语法如下: ```sql SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; ``` ...

    springmvc+mysql增删改查【时间段条件查询】

    在本文中,我们将深入探讨如何将Spring MVC框架与MySQL数据库集成,实现基本的CRUD(创建、读取、更新和删除)操作,并特别关注时间段条件查询。Spring MVC是Spring框架的一部分,它为Web应用程序提供了模型-视图-...

    MySql查询时间段的方法

    本文实例讲述了MySql查询时间段的方法。分享给大家供大家参考。具体方法如下: MySql查询时间段的方法未必人人都会,下面为您介绍两种MySql查询时间段的方法,供大家参考。 MySql的时间字段有date、time、datetime、...

    MySQL数据库查询优化

    预计时间2小时,每小时一个课程段(子查询是SQL查询优化的重点内容,务必掌握好) 第5课 查询优化技术理论与MySQL实践(三)------视图重写与等价谓词重写 什么是视图重写?哪些类型的视图可以被优化?MySQL是怎么...

    sql时间段查询

    ### SQL 时间段查询详解 #### 一、概述 在处理具有日期时间字段的数据时,我们经常需要筛选出特定时间段内的数据。例如,在本案例中,需要获取某表中7月1日至7月31日之间晚上10点到早上6点的数据。这种查询涉及到...

    mysql 查询本周、上周、本月

    根据提供的标题、描述以及部分代码内容,我们可以总结出以下几个MySQL查询相关的知识点: ...通过上述知识点的学习,可以有效地在MySQL数据库中查询指定时间段内的数据,这对于数据分析、报表生成等场景非常有用。

    mysql 获取规定时间段内的统计数据

    在MySQL数据库中,获取规定时间段内的统计数据是一项常见的需求,尤其对于数据分析和业务监控至关重要。这里我们将探讨如何使用MySQL的时间函数来实现这样的统计。 首先,我们要理解`DATE_FORMAT()`函数的作用。这...

    MySQL 时间相关查询

    MySQL 时间相关查询主要涉及到对时间数据的处理,包括INT类型时间戳查询和TIMESTAMP时间查询。这两种查询方式在数据库管理中极为常见,特别是在数据分析、日志记录和事务追踪等方面。 1. INT 类型时间戳查询: INT...

    JAVA实现按时间段查询数据操作

    JAVA实现按时间段查询数据操作 本节主要介绍了JAVA实现按时间段查询数据操作的相关知识点,涵盖了JAVA语言的实践应用、时间段查询、数据操作等方面的知识。 一、JAVA语言基础知识 * JAVA是一种面向对象的编程语言...

    MySQL分库分表技术

    1. **性能提升**:当数据库中的数据量过大时,查询效率会显著下降,导致响应时间变慢,用户体验降低。 2. **负载均衡**:通过分库分表,可以将流量分散到多个数据库服务器上,避免单一节点过载,提高系统可用性。 3....

    MySQL根据时间范围查询

    在MySQL数据库中,进行时间...这些查询方法对于数据分析、日志分析、报表生成等场景非常有用,可以方便地获取特定时间段内的数据。在实际应用中,可以根据需求调整日期和时间的比较方式,以满足各种时间范围的查询。

    mysql数据库应用形考任务(实训1~4.zip)

    (2)查询此汽车用品网上商城会员的创建时间段,1年为一段。 分析:通过用户表可以完成查询,每年可能包含多个会员,如果把此表中的创建年份都列出来会有重复,因此使用DISTINCT去重。 【实验2.4】ORDER BY (1)...

Global site tag (gtag.js) - Google Analytics