【问题标题】:get one/fist row per hour for the actual day实际一天每小时获得一个/第一行
【发布时间】:2017-02-09 22:47:02
【问题描述】:

我需要在实际一天中每小时获取一个/第一行。我不明白它的工作。这是我的桌子:

ID  Date        Time        Data    SID
1   2017-02-08  12:20:00    x   1
2   2017-02-09  08:20:00    x   1
3   2017-02-09  08:22:00    x   1
4   2017-02-09  08:30:00    x   1
5   2017-02-09  09:03:00    x   1
6   2017-02-09  10:20:00    x   1

结果应该是这样的:

ID  Date        Time        Data    SID
2   2017-02-09  08:20:00    x   1
5   2017-02-09  09:03:00    x   1
6   2017-02-09  10:20:00    x   1

有什么想法吗?

【问题讨论】:

  • 您应该显示在问题中不起作用的查询。

标签: mysql sql


【解决方案1】:

这是过滤,所以你可以使用where。一种方法是相关子查询:

select t.*
from t
where t.time = (select min(t2.time)
                from t t2
                where t2.date = t.date and
                      hour(t2.time) = hour(t.time)
               );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 2015-03-02
    • 2019-10-19
    • 2021-12-19
    • 2017-05-19
    • 1970-01-01
    相关资源
    最近更新 更多