【发布时间】:2016-08-05 00:01:28
【问题描述】:
我需要确定哪个月份的条目最多。我使用 TO_DATE 函数将日期列格式化为仅 MONTH。此外, SELECT COUNT(*) 结合 GROUP BY 子句我能够返回所有记录月份和计数属性。
但是,我只需要能够返回 COUNT 的 MAX 行。 IVE 尝试通过添加 HAVING 子句来执行此操作,但返回错误。我怀疑我在这里需要一个子查询,但不确定如何去做。
SELECT TO_CHAR(P.DATEREGISTERED,'MONTH') MONTH, COUNT(*) COUNT
FROM PET P
GROUP BY TO_CHAR(P.DATEREGISTERED,'MONTH')
HAVING COUNT = MAX(COUNT);
另一个尝试:
SELECT TO_CHAR(P.DATEREGISTERED,'MONTH') MONTH, COUNT(*) COUNT
FROM PET P
GROUP BY TO_CHAR(P.DATEREGISTERED,'MONTH')
HAVING COUNT(*) = (SELECT MAX(TO_CHAR(P.DATEREGISTERED,'MONTH')) FROM PET P);
【问题讨论】:
标签: sql oracle group-by subquery having