簡體   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