从按分钟计算的原始数据中按小时聚合 MySQL 数据

2024-03-11

我有一个表 table_1,其中包含每分钟的数据,如下所示:

+---------------------+---------+
| date_time           | value   |
+---------------------+---------+
| 2015-06-05 18:00:00 | 222.663 |
| 2015-06-05 18:01:00 | 222.749 |
| 2015-06-05 18:02:00 | 222.957 |
| 2015-06-05 18:03:00 | 223.063 |
| 2015-06-05 18:04:00 | 223.117 |
+---------------------+---------+

我希望获取每小时的最小值和最大值。就像是:

+---------------------+---------+
| date_time           | value   |
+---------------------+---------+
| 2015-06-05 18:10:00 | 200.663 |
| 2015-06-05 18:45:00 | 222.749 |
| 2015-06-05 19:10:00 | 190.957 |
| 2015-06-05 19:33:00 | 400.063 |
+---------------------+---------+

目前,我正在 PHP 中创建一个 for 循环,并每小时运行一个查询。然而,这显然不是最好的方法,因此非常耗时。例如:

for($temp = $st; $temp <= $et; $temp = $temp + 60){//looping for each hour

 $sql1 = "select * from table_1 where value in 
 (select max(value) from table_1 
 where date_time >= '".date('Y-m-d H:i:s',$st)."' 
 and date_time < '".date('Y-m-d H:i:s',$temp)."' ) 
 and date_time >= '".date('Y-m-d H:i:s',$st)."' 
 and date_time < '".date('Y-m-d H:i:s',$temp)."' limit 1";

 $rs1 = mysql_query($sql1);

 $row1 = mysql_fetch_assoc($rs1)
 $val1 = $row1['value']; 
 $date1 = $row1['date_time'];

} 

回答问题

select DATE_FORMAT(date_time,'%Y-%m-%d %H:00:00') h, min(value), max(value)
    from thetable 
  group by h

1. 如何间隔 6 小时或 15 分钟做同样的事情。

间隔 15 分钟:

select date_time, min(value), max(value) 
     from t1 
  group by round(unix_timestamp(date_time)/(15 * 60))

对于 6 小时间隔更改为 (6 * 60 * 60)

2. 上面的结果没有显示最小值和最大值对应的原始时间戳。如何获得这些。

这样的查询会给你你想要的。但是,例如,如果一个区间内有一些最小值,则获取这么多行,有多少个这样的值

select date_time, value 
    from t1, 
         (select DATE_FORMAT(date_time,'%Y-%m-%d %H:00:00') h, 
                 min(value) min, max(value) max 
              from t1 
            group by h
         ) t 
  where value in (min, max) 
    and DATE_FORMAT(date_time,'%Y-%m-%d %H:00:00') = h
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从按分钟计算的原始数据中按小时聚合 MySQL 数据 的相关文章

  • Hibernate 乐观锁..它是如何工作的?

    我正在阅读下面关于休眠乐观锁定的博客 我打算将它与休眠一起使用 但是 我有一个担忧 我们有java代码和c 代码 都连接到一个数据库 虽然java代码可以使用hibernate来实现乐观锁定 但我想让c 代码做同样的事情 此外 C 代码正在
  • MySQL - 返回每个 GROUP BY 的 X 个数字

    在此查询中 我指定要返回的汽车型号 硬编码 所以下面的 SQL 返回one每个模型的记录 SELECT FROM main WHERE marka name SUBARU AND model name IMPREZA AND kuzov G
  • 使用 C# LINQ 按任一列分组

    我有一组数据 其中包含如下所示的列 OffName RO1 RO2 RO3 为了进一步解释 我使用如下示例数据 OffName RO1 RO2 RO3 A John Jack Rob B Earl John Carl C Rob Chris
  • 使用 Symfony 表单上传多个文件

    UPDATED在我的 Symfony 项目中 我能够上传单个图像 现在我正在尝试上传多个图像 class ImageFile extends AbstractType param FormBuilderInterface builder p
  • 外键可以是另一个表的复合主键的一部分吗?

    我在音乐数据库中有两个 许多 表 音乐会 ArtistID ConcertID ConcetName VenueID 音乐会详细信息 音乐会日期 音乐会 ID 费用 如您所见 ConcertDetails 表使用 ConcertID 该 I
  • 使用 Hibernate 在 MySQL 中存储字节数组

    我正在尝试保存带有字节数组字段的实体 我在 MySQL 数据库之上使用 Hibernate 和 JPA 这是字段定义 对于嵌入式 H2 数据库来说效果很好 Entity name blob public class Blob Lob Bas
  • HTAccess - 令人困惑的干净网址

    如果我想简单地重定向 clients page to clients php view page我会使用像这样简单的东西 它效果很好 Options FollowSymlinks RewriteEngine on RewriteRule c
  • Mysql - Mysql2::错误:字符串值不正确:

    所以我建造了一个刮刀并拉动一些物体 问题是有些是外语 它使 mysql 数据库有点崩溃 这是我得到的错误 知道我能用这个做什么吗 谢谢 Mysql2 错误 列的字符串值不正确 xC5 x8Dga 第 1 行的 描述 插入sammiches
  • 如果列有多个逗号分隔值,如何过滤 mysql 数据?

    我想问如果检查条件以查找具有多个逗号分隔值的列 如何过滤 mysql 数据 我给你举个例子 我有下表说 tbitems id item names item types item features 1 item 1 8 6 10 5 4 9
  • 如何用 UNION 运算符替换 OR 运算符?

    这是我的查询 SELECT h id h subject h body matnF h amount h keywords tags h closed h author id author h AcceptedAnswer h type h
  • MySQL InnoDB 查询性能

    我正在尝试优化一个简单的 sql 查询 该查询将多次运行大量数据 这是场景 MySQL 与 InnoDB 表 where 和 join 中使用的所有字段都已索引 表有 FK 我不需要查询的整个缓存 但每个表的缓存是可能的 表有更多的更新 插
  • 无法使用 Django 应用程序从容器连接到 MySQL docker 容器

    当我尝试从运行 Django 应用程序的 docker 容器连接到运行 MySQL 的容器时 出现以下错误 django db utils OperationalError 2003 Can t connect to MySQL serve
  • C#:SQL 查询生成器类

    在哪里可以找到好的 SQL 查询构建器类 我只需要一个简单的类来构建 SQL 字符串 仅此而已 我需要它用于 C 和 MySql 我真的不需要像 Linq 或 NHibernate 这样的东西 谢谢 由于 Google 将我引导至此页面 我
  • mySQL MATCH 跨多个表

    我有一组 4 个表 我想对其进行搜索 每个都有全文索引 查询可以使用每个索引吗 CREATE TABLE categories id int 5 unsigned NOT NULL auto increment display order
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • 单行的总和值?

    我有一个 MySQL 查询 它返回由一系列 1 和 0 组成的单行 它用于进度条指示器 我现在在代码中对它进行求和 但我尝试对查询中的值求和 并意识到我无法使用 SUM 因为它们有很多列 但只有一行 有没有办法可以在查询中自动求和 就像这样
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 使用 MS Access 获取行的第一个实例

    EDITED 我有这个查询 我想SELECT表中记录的第一个实例petTable SELECT id pet ID FIRST petName First Description FROM petTable GROUP BY pet ID
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB

随机推荐

  • git merge:将更改应用于移动到不同文件的代码

    我现在正在尝试一个非常强大的 git merge 操作 我遇到的一个问题是 我对分支中的某些代码进行了一些更改 但我的同事将该代码移动到了他分支中的新文件中 所以当我这样做的时候git merge my branch his branch
  • 使用 strptime() 解析日期/时间字符串时如何保留时区?

    我有一个来自 Blackberry IPD 备份的 CSV 转储文件 是使用 IPDDump 创建的 这里的日期 时间字符串看起来像这样 在哪里EST是澳大利亚时区 Tue Jun 22 07 46 22 EST 2010 我需要能够在 P
  • Arduino从SD卡读取最后一行

    我对 Arduino 业务还很陌生 如何从 SD 卡读取最后一行 通过以下代码片段 我可以读取第一行 n 之前的所有字符 现在我想添加一个 向后 声明 或其他内容 到目前为止我的代码 include
  • 寻找 Wii 兼容的 Javascript Flash mp3 播放器

    我正在寻找一款能够在 Wii 上基于 Opera 的浏览器中运行的 flash mp3 播放器 播放器需要启用 javascript 支持播放 停止等方法 mp3 曲目列表将使用与播放器相同的页面上的 ajax 动态构建 因此当曲目完成播放
  • Android:在 Android 设备选择器中,同一设备会出现多次

    我正在使用 Eclipse 为 Android 操作系统编程 我使用真实设备来测试我的应用程序 为了测试我的应用程序 我单击 运行 然后单击我想要运行的目标项目 然后弹出 Android 设备选择器 我可以在其中选择要运行该应用程序的设备或
  • 脚本标签中的文本属性 - 澄清?

    在阅读 Angular 的指令代码时 我看到this https github com angular angular js blob master src ng directive script js L43 var scriptDire
  • SVG 在视网膜屏幕上作为边框图像

    请考虑我们有简单的 SVG 文件 其中包含圆角半径等于 10 的圆角矩形的代码
  • Delphi通用约束问题

    我正在尝试创建一个与 tiOPF delphi www tiopf com 的对象持久框架 一起使用的通用列表类 具体来说 我试图采用现有的泛型类 TtiObjectList 并制作一个使用 TtiObject 后代的泛型版本 我更改基类的
  • prolog中输入/输出参数的区别

    Prolog谓词定义中的输入和输出参数有什么区别吗 这与其他语言 例如Scheme 和C 相比如何 我希望我理解你的问题 您应该研究一下 Prolog 中如何实现统一 因为它会让事情变得更清晰 反正 简而言之 没有内置方法可以将 Prolo
  • 为什么我不能在类上下文中引用 DATA?

    在 Ruby 中 存储静态文本真的很方便 END 通过任意使用DATAIO对象 puts DATA read Prints This is the stuff END This is the stuff 然而 当我尝试从新类的上下文中引用
  • JavaScript 可以捕获语法错误吗?

    MDN 状态 https developer mozilla org en US docs Web JavaScript Reference Global Objects SyntaxError 当 JavaScript 引擎在解析代码时遇
  • 如何在父级中绑定子用户控件数据上下文

  • 在 R 的 JAGS 或 BUGS 中指定离散威布尔分布

    我使用 R 中的 JAGS 将威布尔模型拟合到离散值 将威布尔模型拟合到连续数据没有问题 但当我切换到离散值时 我遇到了麻烦 以下是在 JAGS 中拟合威布尔模型的一些数据和代码 draw data from a weibull distr
  • C++ 变量声明语法

    我最近遇到了这个结构 整数 米 这似乎相当于 整数米 奇怪的是 我以前从未见过这个特殊的成语 有人可以给我指出一个参考资料 我可以在其中阅读相关规范 或者直接解释一下吗 这也适用于直 C 吗 谢谢 困惑的开发者 这不是一个 习语 它只是一对
  • 使用数据注释进行模型验证的错误消息

    给定以下课程 using System ComponentModel DataAnnotations public class Book public Contact PrimaryContact get set public Contac
  • React JS 不支持 Html“align”属性

    我是 ReactJS 的新手 在反应组件中 我已经 var SaveOrganization React createClass render function return div align center a href addVenue
  • Nuxt 3 - 如何每n分钟刷新一次获取的数据

    因此 在我的数据库中 数据每分钟都会刷新 数据实际上更新 我检查过 然后我在页面上显示这些数据 当我在页面之间切换以及手动刷新页面时 数据会被获取 但如果我坐在一个页面上例如 5 分钟 即使数据库中的数据更新 数据也不会在页面端刷新 是否可
  • IE8 CSS 和 html 与 IE7 对比

    请原谅这里的任何鲁莽 我正无能为力地寻找答案 我正在寻找从 IE7 更改为 IE8 的特定 html 和 css 标签的列表 如果存在 或一些资源指南 具体来说 我想看到类似 此代码在 IE7 中有效 但在 IE8 中无效 这是损坏的标签相
  • Javascript document.getSelection

    我正在尝试使用 document getSelection 来选择我在所见即所得编辑器的文本区域中输入的文本 但只有当您选择文本区域之外的文本时 它才有效 不知道有没有办法让它选择文本区域内的文本 下面是所见即所得文本编辑器的文本区域 您需
  • 从按分钟计算的原始数据中按小时聚合 MySQL 数据

    我有一个表 table 1 其中包含每分钟的数据 如下所示 date time value 2015 06 05 18 00 00 222 663 2015 06 05 18 01 00 222 749 2015 06 05 18 02 0