我需要在实际的一天中每小时获得一个/第一行。我不懂工作。这是我的表:
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
任何想法?
答案 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)
);