我想从数据库中选择行,但条件是下一行的时间戳将大5-10分钟(我使用Java转换保存我的时间戳)并且应该从一个数据库中收集数据时间戳范围
例如,我在时间戳1434758400和1434412800之间有4700行 我需要减少行数,所以我要做的是选择时间间隔为5-10-15分钟的行
很容易在for循环中写入如下:
for(int i=1434412800 ;i<=1434758400 ;i=i+900) //INTERVAL OF 15 MIN
{
select();
}
但我知道我不能用它作为SQL语句......
如何将其转换为SQL语句?
答案 0 :(得分:0)
我认为你需要这样的东西:
SELECT *
FROM yourTable
WHERE (FLOOR(unix_timestamp(timestampField) / 900) - FLOOR(1434412800 / 900) = :i)
但是我在这里使用i++
代替i+=900
,我的意思是i = 0
会为第一页[1434412800, 1434412800 + 900)
和i = 1
提供第二页{{1}行等等。