Mysql 用聚合函数来实现条件查询结果的某个字段最大值

问题 项目使用的数据库是mysql,对条件查询的结果的某个字段取最大值。
困难 想到普通的聚合函数,MAX无法实现此功能。
方案 后来查了下资料, 聚合函数max 配合group by函数一起使用, 先使用group by进行分组,
再对分组的结果,获取目标字段的max函数结果。
例子 获取女同学的最高分
建表

CREATE TABLE `test_table` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) DEFAULT NULL, `gender` VARCHAR(20) DEFAULT NULL, `score` INT(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

测试数据
INSERT INTO test_table(NAME,gender,score) VALUES('李敏','女',80),('王闯','男',88),('王倩','女',99),('孙大圣','男',100);

查询语句
SELECT gender,MAX(score) FROM test_table GROUP BY gender

【Mysql 用聚合函数来实现条件查询结果的某个字段最大值】结果
Mysql 用聚合函数来实现条件查询结果的某个字段最大值
文章图片

    推荐阅读