Mysql 是否仅为具有其他唯一列的特定记录选择最高值?
我有一个包含如下数据的表。我需要的查询将导致Orange和Apple的顶级结果,其中cityID值最高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
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