У меня есть простая база данных, которая отслеживает транзакции от нескольких игроков в игре.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 OR visit_id = user_id». Однако это возвращает ВСЕ строки для этого конкретного пользователя, я хочу ограничить запрос, чтобы предоставить строку данных для MOST RECENT game_id данными timestamp. timestamp - это фактическая отметка времени UNIX, но, к примеру, это более читаемо.
Когда сказано и сделано, этот запрос должен возвращать следующее при user_id = 1:
game_id | home_id | visiting_id | timestamp | ...
3 2 1 00000004
4 1 3 00000003
Пожалуйста, дайте мне знать, если мне нужно уточнить дальше.
спасибо.
На боковой ноте я буду очищать базу данных записей старше x дней. Но это будет cron, который работает один раз в день, пытаясь свести запросы к минимуму!
Используйте Ограничить слова и заказ по статье [источник] (http://bytes.com/topic/mysql/answers/440150-select-one-row-mysql-table) – hrezs