У меня есть таблица, и я хочу получить:
ID Name Stock Code Date
<---------------------------------------------->
123 GAME_0011 1 WK1 2018-11-20 16:12:16
120 GAME_0088 212 WK1 2018-11-20 19:32:13
109 GAME_0088 21 WK1 2018-11-20 19:32:13
101 GAME_0088 20 WK1 2018-11-20 14:00:41
105 GAME_0011 1 WK1 2018-11-20 14:00:41
102 GAME_0088 2 WK1 2018-11-20 14:00:41
И результат будет по имени, коду и для каждого из них MAX поля date
, и если даты являютсяТо же самое, фильтр по id
тоже:
ID Name Stock Code Date
<---------------------------------------------->
120 GAME_0088 212 WK1 2018-11-20 19:32:13
123 GAME_0011 1 WK1 2018-11-20 16:12:16
Мой запрос:
SELECT *
FROM games
WHERE name IN ('GAME_0088', 'GAME_0011')
AND code IN ('WK1')
AND date IN (SELECT max(date) FROM stocks GROUP BY name)
ORDER BY id desc
Но возвращает:
ID Name Stock Code Date
<---------------------------------------------->
123 GAME_0011 1 WK1 2018-11-20 16:12:16
109 GAME_0088 21 WK1 2018-11-20 19:32:13
Что не так?Как я могу фильтровать по MAX ID тоже?