我有一张table,我想得到:
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
结果将按名称、代码和它们中每一个的最大 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
怎么了?我怎么也能按最大id过滤呢?
1条答案
按热度按时间xqnpmsa81#
在派生表中,可以获得
ID
对于一组特定的name
以及code
. 加入到games
表中使用此信息获取对应于最大日期的行。