簡體   English   中英

在MySql中,我如何在過去的一個小時內每60條腸子拉血

[英]In MySql how do I pull every 60 enteries in the last hour

我編程了一個硬件監視器,該監視器每秒鍾將選擇的數據保存到mysql數據庫中,這我認為是過頭的,我的bose每100秒要一次,而我每10秒鍾要一次,這就是折衷方案。 對於這樣的非規范化數據庫,它的索引和搜索速度比我預期的快得多。 好吧,這就是問題所在。 我想在過去一個小時內每60秒檢索一次數據。 我可以每60秒查詢一次,也可以查詢最近一小時,但是我不能在最近一小時查詢每60秒一次。

`SELECT Date, Private, Private 2
 FROM Hardware1
 WHERE Date %60 =1
 ORDER BY Date ASC";`

每60秒就會得到一次結果,但結果卻奇怪地分解了

| 2014-01-20 17:40:21 | 0.336 |     632 |
| 2014-01-20 17:41:41 | 0.336 |     632 |
| 2014-01-20 17:42:01 | 0.336 |     632 |
| 2014-01-20 17:43:21 | 0.336 |     634 |
| 2014-01-20 17:44:41 | 0.336 |     634 |
| 2014-01-20 17:45:01 | 0.336 |     634 |
| 2014-01-20 17:46:21 | 0.336 |     634 |
| 2014-01-20 17:47:41 | 0.336 |     634 |
+---------------------+-------+---------+

那我有

`SELECT Date, Private, Private2 
 FROM Miner1 
 WHERE Date >= DATE_SUB(NOW(),INTERVAL 1 HOUR)`

這會向我顯示最近一小時的每秒數據

| 2014-01-20 17:49:12 | 0.336 |     634 | 
| 2014-01-20 17:49:13 | 0.336 |     634 |
| 2014-01-20 17:49:14 | 0.336 |     634 |
| 2014-01-20 17:49:15 | 0.336 |     634 |
| 2014-01-20 17:49:16 | 0.336 |     634 |
| 2014-01-20 17:49:17 | 0.336 |     634 |
| 2014-01-20 17:49:18 | 0.336 |     634 |
| 2014-01-20 17:49:19 | 0.336 |     634 |
| 2014-01-20 17:49:20 | 0.336 |     634 |
+---------------------+-------+---------+

幫助請嘗試了很多不同的東西,我頭疼得厲害

從最后一個小時返回所有秒數的查詢是一個好的開始:

SELECT Date, Private, Private2 
FROM Miner1 
WHERE Date >= DATE_SUB(NOW(),INTERVAL 1 HOUR) and
      second(Date) = 0;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM