繁体   English   中英

SQL语句选择最高值进行版本控制

[英]SQL statement to select highest value for versioning purposes

我在“项目”表中有以下记录:

company_name version
COY1         1
COY1         2
COY2         1

如果公司名称相同,我只想选择最高版本:

company_name version
COY1         2
COY2         1

我尝试了此查询,但似乎失败了...

$sql = "SELECT company_name from projects P1 where version=(select max(version) FROM projects P2 WHERE P1.company_name=P2.company_name)";

选择语句的错误或正确方法是什么? 非常感谢。

不是最有效的解决方案。 但是有效

select company_name, 
       (
          select max(version) 
          from company where company_name = p1.company_name
       )

from (
       select company_name, 
              count(*)
       from company 
       group by company_name
     ) p1;

http://sqlfiddle.com/#!2/25d32/2

http://sqlfiddle.com/#!2/e51472/4

SELECT company_name,max(version)as`Version` from projects
group by company_name; 
select max(version),company_name from projects group by company_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM