我在查询中需要Sql帮助

时间:2010-12-23 02:17:48

标签: php mysql phpmyadmin

我将使用什么查询来执行以下操作

  

Name1 Version1 xAmount

     

Name1 Version2 xAmount

     

Name2 Version1 xAmount

     

Name2 Version2 xAmount

     

Name2 Version3 xAmount

     

Name3 Version1 xAmount

根据这个名称,Name1的最新版本是Version2,Name2的最新版本是Version3,Name3是Version1。

我将如何创建一个查询以使用最新版本获取每个名称,假设最新版本是整数或类似1.2a和1.2b

2 个答案:

答案 0 :(得分:0)

使用以下

select Name,Version, Amount
From T1,(select Name,max(Version) as Version From T1 Group By Name) as T2
Where T1.Name=T2.Name and T1.Version=T2.Version

如果您有表格的ID

select Name,Version, Amount
From T1,(select max(ID) as ID From T1 Group By Name) as T2
Where T1.ID=T2.ID

或者

select Name,Version, Amount
From T1
Where T1.ID IN (select max(ID) as ID From T1 Group By Name)

答案 1 :(得分:0)

首先,我强烈建议您保留一个数字列,指示它的版本是否迭代,即使您有一个名称列。因此,假设您这样做,那么您想要的解决方案非常简单:

SELECT Name, MAX(version) as MaxVersion
FROM Table
GROUP BY Name