我有一个简单的数据库,用于跟踪来自游戏中多个玩家的交易。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