mysql group by取最小/最大数值对应的行其他数据
程序员文章站
2022-07-08 15:57:04
...
以mysql默认world库city表为例
要取每个国家最少人口的城市名称,可以这样:
SELECT countrycode,replace(min(concat(lpad(population,10,'0'),name)),concat(min(lpad(population,10,'0'))),''),min(population)
FROM world.city
group by countrycode;
其中lpad是为了数字转换字符串比较的时候解决位数问题
要取每个国家最少人口的城市名称,可以这样:
SELECT countrycode,replace(min(concat(lpad(population,10,'0'),name)),concat(min(lpad(population,10,'0'))),''),min(population)
FROM world.city
group by countrycode;
其中lpad是为了数字转换字符串比较的时候解决位数问题