mysql - 在同一张表上使用分组依据查找最大值和最小值

标签 mysql database

我有下表。

name       gender   age
 NAME1  F   21
 NAME2  M   23
 NAME3  F   26
 NAME4  F   42
 NAME5  M   52

现在我想显示包括性别在内的最小年龄和包括性别在内的最大年龄。

也就是

 NAME1 F 21 NAME5 M 52

我使用了以下查询。但它没有为我提供正确的结果。

select max(v1.age),v1.gender, min(v2.age),v2.gender from table_name v1
,table_name v2 where v1.id =v2.id;

提前致谢...

最佳答案

这是一个最大值的查询:

select name, gender, age 
from table_name 
where age = (select max(age) from table_name) 
limit 1

返回最大和最小名称等是可行的,但可能比运行 2 个查询更复杂。

关于mysql - 在同一张表上使用分组依据查找最大值和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23080328/

相关文章:

php - 设计可扩展的点击/分析系统的最佳方式?

mysql - 如何转义撇号以匹配 Node.js/Discord.js 中 MySQL 数据库的数据?

mysql - 如果表中有空值,如何将MySQL列合并为一列?

mysql - Magento 2.2.6/var/lib/mysql/文件夹占用 43 GB 磁盘空间

用户最爱的SQL数据库设计模式?

php - 如何防止 PHP 中的 SQL 注入(inject)?

MySQL: "` myTbl` .`foo` = foo"evaluates to true. 我该如何防止呢?

javascript - 从mysql表递归问题构建树数据结构

mysql - 使用连接在 SQL 中查询多个表

javascript - 对数据库和服务器使用 Promise