mysql - 在一小时的间隔内获得结果

标签 mysql intervals

我有一个看起来像这样的表

+--------------------+-------+
| Date/Time          | Value |
+--------------------+-------+
| 2014-01-01 8:30:10 |  10   |
| 2014-01-01 8:30:05 |  11   |
| 2014-01-01 7:15:04 |  24   | 
| 2014-01-01 7:00:01 |  15   |
| 2014-01-01 6:55:20 |  06   | 
| 2014-01-01 6:30:10 |  38   |
+--------------------+-------+

我想获取那一天的值,但以一个小时为间隔,我应该怎么做? 我希望结果是这样的:

+--------------------+-------+
| Date/Time          | Value |
+--------------------+-------+
| 2014-01-01 8:30:10 |  10   |
| 2014-01-01 7:15:04 |  24   | 
| 2014-01-01 6:55:20 |  06   | 
+--------------------+-------+

最佳答案

SELECT x.* 
 FROM my_table x 
 JOIN 
    ( SELECT MAX(dt) max_dt 
        FROM my_table 
       GROUP BY DATE(dt),HOUR(dt)
    ) y
   ON y.max_dt = x.dt;

请注意,这假设 dt 是主要的(或至少是唯一的)

DEMO

关于mysql - 在一小时的间隔内获得结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22233567/

相关文章:

php - 使用 mysql_insert_id() 将 .php 的 id 传递给另一个 .php

javascript - 在 jquery 中的特定时间间隔的每次迭代中停止 .each 执行?

php - 从 MySQL 表中选择值是数组的行?

MySQL:可以递归锁定表吗?

postgresql - 如何在 PostgreSQL 中调整 SET intervalstyle(更改间隔输出)?

sql - 在sql中,如何从具有from和thru时间戳的记录中选择随机时间

java - 如何在间隔中获得周末? Joda Time

MySQL 计算相同间隔内的行数

mysql - 在 Zend 中从 TABLE1 选择计数 +(从 TABLE1 选择计数)

php - 上传csv文件的高效方法