Привет всем. Уже сутки бьюсь над казалось бы простым запросом, но чета не идет.
Сам запрос:
SELECT meta.meta_value, game.title FROM meta
INNER JOIN game ON game.id = meta.id_game
WHERE game.month = 2 AND game.year = 2016 AND meta.meta_key = 'video'
GROUP BY meta.id_games
ORDER BY game.score + game.like DESC LIMIT 10
Примерный вид таблиц
game meta
id id
title id_games
month meta_key
year meta_value
score
like
Если делать без групировки то получаем следующее:
Суть в чем, у любой игры может быть несколько видео в таблице
meta с meta_key (video) нужно вытащить видео популярных игр для этого идет сортировка по полям score и like таблицы
game, но всего по одному видео из каждой игры.
Данный запрос работает хорошо, но есть проблема, при группировке он берет первые попавшиеся видео с наименьшим meta.id, что логично, а нужно чтобы в результат попадало последнее добавленное видео т.е. максимальным meta.id
Если делать запрос без группировки то видно, что выбираются все видео одной игры, а нужно отобрать только последнее видео каждой игры
Надеюсь получилось объяснить)