2017-05-27 33 views
0

这是一个有点棘手来解释我后,但在这里。我有2个表格需要参考software_releasesplatforms。软件版本将包含平台ID,软件ID和版本号。获取不同列值的最新条目

我想获取每个不同平台的最新版本号。

查询,我现在有如下:

SELECT ReleaseID, 
     DateCreated, 
     SoftwareID, 
     platforms.PlatformID, 
     PlatformName, 
     VersionNumber 
FROM  software_releases, platforms 
WHERE software_releases.PlatformID = platforms.PlatformID 
AND  software_releases.SoftwareID='3' 
ORDER BY VersionNumber DESC 

将返回:

5 27/05/2017 22:37 3 7 Windows 3.0.0.0 
9 27/05/2017 22:56 3 7 Windows 2.6.0.0 
7 27/05/2017 22:46 3 5 Android 2.5.1.1 
1 27/05/2017 23:21 3 5 Android 2.5.0.0 

列顺序如下:

  • ReleaseID
  • 发布日期
  • 软件ID
  • 平台ID
  • 版本ID

我所寻找的是获得用于指定的软件ID返回每个平台的最新版本,因此,我只是想返回以下:

5 27/05/2017 22:37 3 7 Windows 3.0.0.0 
7 27/05/2017 22:46 3 5 Android 2.5.1.1 

感谢您提供任何帮助。

+1

https://www.google.com/search?q=mysql+groupwise+maximum – CBroe

+0

@CBroe感谢,不知道这就是它被称为 - 是一个没有这个棘手的事情谷歌 – Boardy

回答

0

我从CBrowe评论中得到了这个答案,我不知道我之后被称为一个明智的最大查询。

我改变了我的查询是

  SELECT * FROM (SELECT DateCreated, SoftwareID, software_releases.PlatformID, 
     VersionNumber, PlatformName FROM software_releases, platforms WHERE 
     SoftwareID='3' AND 
     platforms.PlatformID = software_releases.PlatformID ORDER BY VersionNumber DESC) 
     AS s GROUP BY PlatformID