sql - Oracle SQL 缺少表达式/语法错误
问题描述
所以基本上我的问题是我有以下查询,我收到一个错误,说有语法错误,但我可以弄清楚什么。我想知道我是否不能在子查询中使用HAVING COUNT()。
SELECT FIELDNUM
FROM INTEREST
GROUP BY FIELDNUM
HAVING COUNT(ACNUM) >= ALL(SELECT FIELDNUM
FROM INTEREST
HAVING COUNT(ACNUM));
语法错误显示在最后 2 个右括号中,即 HAVING COUNT(ACNUM ));
我试图得到的结果是最感兴趣的学者(ACNUMS)的领域(FIELDNUM),但我不允许使用 MAX 或 ROWNUM。
兴趣表具有 FIELDNUM、ACNUM 和DESCRIPTION 属性。
解决方案
如果查询的结构为:
SELECT FIELDNUM
FROM INTEREST
GROUP BY FIELDNUM
HAVING COUNT(ACNUM) >= ALL (SELECT COUNT(ACNUM)
FROM INTEREST
GROUP BY FIELDNUM
);
这不是我推荐的编写逻辑以获取fieldnum
表中出现次数最多的 s 的方式,但它是一种有效的方法。
推荐阅读
- docker - 如何在存储在单独容器中的烧瓶 HTML 模板中引用?
- c - 在 c 中处理管道时关闭文件描述符
- javascript - 如何在javascript setInterval函数中显示毫秒和秒
- typescript - 带有打字稿的 RamdaJs,在无点时避免错误
- kubernetes - microk8s 连接到端口 16443 被拒绝
- azure - Azure - 获取用户刷新令牌失败
- python - ParserError("字符串不包含日期:%s", timestr) 错误
- javascript - Javascript 随机图像,随机过渡幻灯片
- python - matplotlib.pyplot.show() 的意义是什么?
- dataweave - 如何使用嵌套的“地图”