2017-05-29 40 views
0

在sqlite数据库中,我有两个字段。值字段和时间戳字段。我想获取每天最后一次时间戳的值。例如,像这样的记录:如何获得每日最新的时间戳值?

Value | Timestamp 
1   2017-05-26 14:38:48 
2   2017-05-26 15:38:48 
3   2017-05-26 16:38:48 
4   2017-05-29 14:38:48 
5   2017-05-29 15:38:48 
6   2017-05-29 16:38:48 

我想每天返回两个最大值。

Value | Timestamp 
3   2017-05-26 16:38:48 
6   2017-05-29 16:38:48 

回答

1

可以使用date函数返回日期时间列的日期部分,并得到每天的最晚时间。

select * from tbl 
where timestampcol in (select max(timestampcol) 
         from tbl 
         group by date(timestampcol) 
        ) 
+0

太谢谢你了。我知道有一个优雅的解决方案,但我无法找到它。我不知道日期函数。 – Randy

1

的SQLite 3.7.11或更高版本does the right thing没有一个子查询:

SELECT Value, max(Timestamp) 
FROM MyTable 
GROUP BY date(Timestamp); 
相关问题