Mysql 是否仅为具有其他唯一列的特定记录选择最高值?

Mysql 是否仅为具有其他唯一列的特定记录选择最高值?,mysql,sql,group-by,max,Mysql,Sql,Group By,Max,我有一个包含如下数据的表。我需要的查询将导致Orange和Apple的顶级结果,其中cityID值最高 id | fruit | attr | cityID | personID 163 Apple green 3685 235 163 Apple red 3145 267 163 Apple yellow 1522 560 164 Orange big 1344 147 164 Orange small 833 26

我有一个包含如下数据的表。我需要的查询将导致Orange和Apple的顶级结果,其中cityID值最高

id | fruit  | attr | cityID | personID 
163 Apple   green   3685    235
163 Apple   red     3145    267
163 Apple   yellow  1522    560
164 Orange  big     1344    147
164 Orange  small   833     2673
我需要的结果是

id | fruit  | attr | cityID | personID 
163 Apple   green   3685    235
164 Orange  big     1344    147
我开始尝试用自己的方式来完成这个任务

select 
   fruit_id,
   fruit,
   attr, 
   max(cityID),
   personID
from fruits_cities
    group by
     fruit_id,
     fruit,
     attr, 
     max(cityID),
     personID

这是一个挑战。你需要做一些比较。这里有一个简单的方法:

select fc.* 
from fruits_cities fc
where fc.cityId = (select max(CityId)
                   from fruits_cities fc2
                   where fc2.fruit_id = fc.fruit_id
                  );

这是一个挑战。你需要做一些比较。这里有一个简单的方法:

select fc.* 
from fruits_cities fc
where fc.cityId = (select max(CityId)
                   from fruits_cities fc2
                   where fc2.fruit_id = fc.fruit_id
                  );

这是一个挑战。你需要做一些比较。这里有一个简单的方法:

select fc.* 
from fruits_cities fc
where fc.cityId = (select max(CityId)
                   from fruits_cities fc2
                   where fc2.fruit_id = fc.fruit_id
                  );

这是一个挑战。你需要做一些比较。这里有一个简单的方法:

select fc.* 
from fruits_cities fc
where fc.cityId = (select max(CityId)
                   from fruits_cities fc2
                   where fc2.fruit_id = fc.fruit_id
                  );

可能对您有帮助的最短代码

SELECT fruit_id,fruit,attr,max(cityID),personID FROM `fruits_cities` GROUP BY fruit ORDER BY fruit_id

可能对您有帮助的最短代码

SELECT fruit_id,fruit,attr,max(cityID),personID FROM `fruits_cities` GROUP BY fruit ORDER BY fruit_id

可能对您有帮助的最短代码

SELECT fruit_id,fruit,attr,max(cityID),personID FROM `fruits_cities` GROUP BY fruit ORDER BY fruit_id

可能对您有帮助的最短代码

SELECT fruit_id,fruit,attr,max(cityID),personID FROM `fruits_cities` GROUP BY fruit ORDER BY fruit_id