加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 海宁网 (https://www.hainingwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

SQL – 显示最大计数的条目?

发布时间:2021-01-12 20:44:32 所属栏目:编程 来源:网络整理
导读:CREATE TABLE doctor( patient CHAR(13),docname CHAR(30) ); 假设我有这样一张桌子,那么我如何显示患者最多的医生的名字?就像最多的是三个,两个医生有三个病人,然后我会显示他们的两个名字. 这将得到最大的患者: SELECT MAX(count) FROM (SELECT COUNT(do

CREATE TABLE doctor( patient CHAR(13),docname CHAR(30) );

假设我有这样一张桌子,那么我如何显示患者最多的医生的名字?就像最多的是三个,两个医生有三个病人,然后我会显示他们的两个名字.

这将得到最大的患者:

SELECT MAX(count) 
FROM (SELECT COUNT(docname) FROM doctor GROUP BY docname) a;

这是所有的医生和他们有多少患者:

SELECT docname,COUNT(docname) FROM doctor GROUP BY name;

现在我无法弄清楚如何将它们结合起来只列出拥有最大患者的医生的名字.

谢谢.

解决方法

这应该做到这一点.
SELECT docname,COUNT(*) FROM doctor GROUP BY name HAVING COUNT(*) = 
    (SELECT MAX(c) FROM
        (SELECT COUNT(patient) AS c
         FROM doctor
         GROUP BY docname))

另一方面,如果您只需要第一个条目,那么

SELECT docname,COUNT(docname) FROM doctor 
GROUP BY name 
ORDER BY COUNT(docname) DESC LIMIT 1;

(编辑:财气旺网 - 海宁网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!