0
我在以下情况下苦苦挣扎:MySQL JOIN,只能得到最大值
我有一个用户表,其中包含插件的作者。我有一个插件的插件(名称和ID)。我也有一个版本表。该版本表包含所有已发布插件的版本,例如1.0,1.1等。现在版本记录还包含mcversions,它是插件的引擎版本。
这里是我进行的查询:
SELECT
`plugins`.`name`,
users.username,
versions.version,
mcversions.version
FROM
users
INNER JOIN `plugins` ON `plugins`.author = users.id
INNER JOIN versions ON versions.id = `plugins`.id AND versions.time
INNER JOIN mcversions ON versions.mcversion = mcversions.id
现在有一个问题:我只想要得到的版本,并属于其中versions.time是最高版本的mcversion(这是一个时间戳)。 所以我想要一个名称,作者,最新版本和最新版本的mcversion插件列表。
我任何人都可以帮助我,我会非常高兴!
〜巴斯
感谢您的回复,但我收到以下错误: [错误] 1064 - 您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以在'FROM版本'附近使用正确的语法)AS maxvers ON maxvers.id ='plugins'.id – Basaa 2012-07-13 13:52:47
我有一个额外的)'SELECT version,MAX(time),id )<---'。不知道这是否能解决它。更改为',MAX(time),id FROM' – StuckAtWork 2012-07-13 16:04:21
在代码中进行了一些修复之后,我得到一个空的结果:( – Basaa 2012-07-13 19:06:33