2013-11-15 63 views
1

我想選擇一天中的特定時間段(15分鐘),然後我只想獲取過去一年中每天的歷史數據。我根本不知道在哪裏把INTERVAL 1 DAY放在MySQL中。我想從(2012-10-15到2013-10-15)獲取數據。如何查詢過去一年中某一天的特定時間段

因此,這裏是我的示例代碼:從你時間戳

select *, FROM_UNIXTIME(timestamp/1000000000) 
FROM pulsars 
WHERE timestamp between UNIX_TIMESTAMP('2013-10-15 02:00:00')*1e9 
AND UNIX_TIMESTAMP('2013-10-15 02:15:00')*1e9 
AND name = 'GEMINGA' 
ORDER by timestamp 
LIMIT 0,100000000 

回答

1
select [...] 
from pulsars 
where time(FROM_UNIXTIME(timestamp)) between time('02:00:00') and time('02:15:00') 
and name = 'GEMINGA' 
and timestamp between unix_timestamp('2012-10-15') and unix_timestamp('2013-10-15') 
group by date(FROM_UNIXTIME(timestamp)); 

time()功能將只提取白天。我將日期轉換爲where子句中的unix_timestamp,因爲我猜測該時間戳有一個索引,因此查詢速度會更快。按天分組會給每天一行。因爲我不知道你的數據,你必須自己做選擇中的聚合函數。

如果您螞蟻每天選擇獨立溝槽並每天使用timestamp between unix_timestamp(select_date) and unix_timestamp(select_date + interval 1 day)

相關問題