2012-03-21 79 views
0

我將盡力解釋這個最好的我可以提供更多的信息,如果需要快速。MySQL查詢列表

我在軍事時間存儲每個小時的數據。我只需要存儲一天的數據。我的表結構低於

CREATE TABLE `onlinechart` (
    `id` int(255) NOT NULL AUTO_INCREMENT, 
    `user` varchar(100) DEFAULT NULL, 
    `daytime` varchar(10) DEFAULT NULL, 
    `maxcount` smallint(20) DEFAULT NULL, 
    `lastupdate` varchar(100) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=innodb AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 

「用戶」列對每個用戶都是唯一的。所以我會列出每個用戶。

「白天」專欄我把它存儲在一起的日子和小時。因此,對於今天和小時,它將是「2116」,因此當天是21,當前小時是16.

「maxcount」列是每個小時的數據。我每小時只跟蹤一個總數。

「lastupdate」列只是一個時間戳im用於刪除24小時以上的數據。

我有腳本運行在PHP罰款跟蹤。它爲每個用戶保留總共24行數據,並刪除24小時之前的任何內容。我的問題是,我將如何去查詢從當前小時/天開始,並將過去24小時的maxcount拉到頭並按順序顯示它們。

感謝

回答

0

你會遇到處理這個臨近年底的一個問題。建議您切換到使用本機時間戳類型的MySQL(如下所述:http://dev.mysql.com/doc/refman/5.0/en/datetime.html)。 86400(秒數一天) -

SELECT * FROM onlinechart WHERE daytime >= ? ORDER BY maxcount 

問號應該由時間戳來代替:然後你就可以做一些事情,如搶最大計數。