我有一個簡單的數據庫,用於跟蹤來自遊戲中多個玩家的交易。MySQL:需要檢索所有記錄,但忽略舊條目
當一個遊戲是兩個玩家之間展開,一個獨特的game_id生成並存儲在一個名爲game_ids一個單獨的數據庫。在數據庫中,我查詢(game_transactions)我需要發生以下...
表game_transactions樣本數據:
game_id | home_id | visiting_id | timestamp | ...
3 1 2 00000001
4 1 3 00000001
3 2 1 00000002
3 1 2 00000003
4 1 3 00000002
3 2 1 00000004
4 1 3 00000003
正如你可以看到,當一個玩家完成一個把他們的遊戲將添加到此表中。這一直持續到遊戲完成。我試圖做的是獲取所有的行時,通過user_id搜索「WHERE home_id = user_id或訪問ID = user_id」。然而,這將返回該特定用戶的所有行,我想限制查詢給出給定的時間戳的最近的game_id的數據行。 時間戳是一個實際的UNIX時間戳,但出於示例目的,這更具可讀性。
當說的和做,這個查詢需要返回以下時user_id說明 = 1:
game_id | home_id | visiting_id | timestamp | ...
3 2 1 00000004
4 1 3 00000003
請讓我知道如果我需要進一步明確。
謝謝。
在附註中,我將清除比x天更早的條目的數據庫。但這將是一個每天運行一次的cron,試圖將查詢保持在最低限度!
使用限制關鍵字和ORDER BY子句 【來源】(http://bytes.com/topic/mysql/answers/440150-select-one-row-mysql-table) – hrezs 2012-01-10 19:34:15