繁体   English   中英

根据特定字段获取MAX值

[英]Get MAX value based on specific field

好的,简单的问题:我有一张桌子

create table people (
  id int auto_increment not null primary key,
  name varchar(32),
  city varchar(32),
  age int
);

与查询

SELECT city, age
FROM people
WHERE age=(SELECT max(age) from people);

我可以得到城市的输出和最老的人的年龄。

City        Age
Denver      95

我如何获得每个城市的最大年龄,即

City        Age
Atlanta     90
Cincinnati  87
Denver      95
SELECT city, MAX(age)
FROM people
GROUP BY city

这是MySQL聚合函数的使用。 通过提供一个附加列并在GROUP BY中指定它,您告诉MySQL只在这些匹配记录中应用聚合函数(在我们的例子中为MAX)。

您可以在此处阅读有关聚合的更多信息。

您的查询可以简化为

SELECT city, age
FROM people
order by age desc
limit 1

暂无
暂无

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

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