实际一天每小时获得一个/第一排

时间:2017-02-09 14:44:56

标签: mysql sql

我需要在实际的一天中每小时获得一个/第一行。我不懂工作。这是我的表:

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

任何想法?

1 个答案:

答案 0 :(得分:3)

这是过滤,因此您可以使用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)
               );