繁体   English   中英

选择列和最大值

[英]Selecting column and max

我会解释我的问题所以它变得更加清晰。

我必须选择医院用量最大的医院。

我的表看起来像这样:

Medic_Hospital values (codhospital,codmedic)

我努力了 :

SELECT MAX(codmedic) FROM Medic_Hospital

但那只返回6号(这是军医的id之一)

SELECT codhospital,count(codmedic) FROM Medic_Hospital
where max(codmedic) = count(codmedic)
group by codhospital

但这也失败了

聚合可能不会出现在WHERE子句中,除非它位于HAVING子句或选择列表中包含的子查询中,并且要聚合的列是外部引用。

SELECT codhospital,MAX(COUNT(codmedic)) from Medic_Hospital

但那失败了

“无法对包含聚合或子查询的表达式执行聚合函数。”

我在SQL方面不是很有经验,我可以看到我的逻辑在这里让我失望。 有人能指出我正确的方向吗?

您可以使用top子句返回有序查询的第一行:

SELECT   TOP 1 codhospital, COUNT(codmedic) 
FROM     Medic_Hospital
GROUP BY codhospital
ORDER BY 2 DESC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM