根据特定字段获取MAX值

时间:2014-03-21 21:15:53

标签: mysql sql

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

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

2 个答案:

答案 0 :(得分:2)

SELECT city, MAX(age)
FROM people
GROUP BY city

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

您可以阅读有关聚合here的更多信息。

答案 1 :(得分:0)

您的查询可以简化为

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