oracle - 当我想显示具有最多部门的块时,为什么同时显示块号?
问题描述
我有一个包含 3 列的表部门(department_name、department_id、department_block_number),所以我想获取部门的最大数量所在的department_block_number?我有两个 department_block_number 303、202,每个部门分别有 4 个和 2 个部门?我该怎么做?
select q1.department_block_number , max(c)
(select department_block_number , count(department_id)as c from department group by department_block_number)q1,
group by department_block_number ;
select q1.department_block_number , max(c)
(select department_block_number , count(department_id)as c from department group by department_block_number)q1,
group by department_block_number ;
现在我只想显示 303,因为它是其中包含最多部门的块号,但我的查询同时显示 303、202 请帮助我。如果您知道其他方法,以便我可以获取结果,请提供帮助
解决方案
在标准 SQL 中,如果你正在寻找一行,你会这样做:
select d.department_block_number, count(*)
from department d
group by d.department_block_number
order by count(*) desc
fetch first 1 row only;
一些数据库拼写fetch first 1 row only
为limit 1
或select top (1)
以更神秘的方式拼写。
在旧版本的 Oracle 中(fetch
在 12c+ 中受支持),您可以执行以下操作:
select department_block_number, cnt
from (select d.department_block_number, count(*) as cnt
from department d
group by d.department_block_number
order by count(*) desc
) d
where rownum = 1;
推荐阅读
- android - 需要对现有 Android 代码有基本的加密理解
- json - 使用 JQ API 在 Artifactory 中获取最新的 Jar
- eclipse - 身份验证失败:在 eclipse docker 容器中导入项目时密码无效或缺少 SSH 密钥
- css - 反应原生的视图高度
- javascript - 我应该接受来自dependabot 更新yarn.lock 的自动PR 吗?
- ios - 如何从 UIViewController 呈现 SKScene
- c - 堆排序程序不返回结果
- python - 按另一列分组并提取 Pandas 中一列的最高值
- java - 用于加载在 python 中创建的 TensorFlow 模型的 Java API
- javascript - 将json对象分配给CanvasJS中的javascript变量