mysql - 从不同行中检索最大值

标签 mysql

抱歉,标题可能有点难懂。我在学校学习 MySQL,但现在我陷入了练习,无法在任何地方找到解决方案(尽管我 100% 确定它在那里,但我就是找不到)。

无论如何,我有一张表格,其中列出了一些名为精神病学、外科医生和皮肤科医生的医疗部门。外科医生和精神病学领域都有 2 名医生,而皮肤科医生只有 1 名。我应该知道医疗人员最多的地区的名称,就这么简单。我遇到的问题是我无法让两个区域都出现,只能显示其中一个区域或全部区域。这是我的代码:

select speciality, count(*) 
from medics
group by speciality
order by count(*);

我也尝试过:

select max(total), speciality
from
(select speciality, count(*) as 'total' from medics
group by speciality
order by count(*)) 
as test
group by speciality;

编辑:这是我必须从中获取数据的表:

cod_hospital dni      apellidos               epecialidad
           4 22233311 Martínez Molina, Gloria PSIQUIATRA
           2 22233322 Tristán García, Ana     CIRUJANO
           2 22233333 Martínez Molina, AndrEs CIRUJANO
           4 33222111 Mesa del Castillo, Juan DERMATOLOGO
           1 66655544 Castillo Montes, Pedro  PSIQUIATRA

这是预期的结果。 “1 - DERMATOLOGO”结果不应出现在那里,因为这不是大多数医生的专长:

max(total) especialidad
         2 CIRUJANO
         2 PSIQUIATRA

最佳答案

例如:

SELECT a.* 
  FROM 
     (SELECT especialidad,COUNT(*) total FROM medics GROUP BY especialidad) a 
  JOIN 
     (SELECT COUNT(*) total FROM medics GROUP BY especialidad ORDER BY total DESC LIMIT 1) b 
    ON b.total = a.total;

是的。有时真的会那么粗鲁。

关于mysql - 从不同行中检索最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35522720/

相关文章:

mysql - 在 MySQL 中连接具有相同 ID 的行的字段

php - 从 PHP 到 PHPMYADMIN 的 DOB 集合

mysql - 在 Node js 中使用 Sequelize 时,TypeError : require(. ..) 不是一个函数

php - 从 PHP/MySQL 自定义 JSON 数据的格式

php - 在包含多种货币的表中搜索

php - Laravel 如何在创建 7 天后删除数据库记录

mysql - 用于检查数据库更新的 Socket.io

php - 获取带有类别名称、标签和 WordPress 中所有相关内容的帖子

php - 比较不同表的行

MySql:MyISAM 与 Innodb!