【发布时间】:2011-07-06 19:20:41
【问题描述】:
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;
现在我不知道如何将它们组合起来以仅列出拥有最多患者的医生的姓名。
谢谢。
【问题讨论】:
-
什么数据库产品和版本?
-
正如@Thomas 建议的那样,如果不知道我们正在使用什么数据库,就很难提供帮助。
-
您将患者表命名为“作者”? “患者”表的架构是什么样的?
-
我假设这是 SQL Server,如果不告诉我。
-
@Stewage - 您的医生表包含有关患者的信息?