sql - 查找具有最大预订数的人的个人资料_id
问题描述
我有一张如下表。我想找到具有最大 Book_id 数量的 profile_id。
PROFILE_ID BOOK_ID
---------- --------------------
A1 001
A2 002
A3 003
A1 004
A3 005
A1 006
A4 007
A1 008
A2 009
A4 010
A3 011
所以,首先我需要计算不同的profile_id完成了多少预订,我做了如下
SQL>select profile_id, count(book_id) from book group by pro;
PROFILE_ID COUNT(BOOK_ID)
---------- --------------
A4 2
A3 3
A1 4
A2 2
但我希望查询返回具有最大预订计数的 profile_id。为此,我使用了以下查询
select profile_id from(select profile_id, count(book_id) no_of from book group by pro) deriv where deriv.no_of=max(deriv.no_of);
但它不会返回具有最大预订次数的 profile_id。我尝试了许多不同的查询,但它不起作用。谁能帮帮我吗。我正在尝试编写一个通用查询,但不是针对这个特定的表。一点点帮助我就会很多。谢谢
解决方案
试试这个查询,我认为你需要订单
select profile_id, count(book_id) as no_of
from book
group by pro
order by no_of desc
limit 1
当您需要超过 1 个结果时更新:
SELECT profile_id,
count(book_id) AS no_of
FROM tbl1
GROUP BY profile_id
HAVING no_of =
(SELECT max(no_of)
FROM
(SELECT profile_id,
count(book_id) AS no_of
FROM tbl1
GROUP BY profile_id) tblAlias1)
推荐阅读
- python - 如何将 str.startswith 与多个字符串一起使用?
- java - 错误:Spring Boot 中使用 Graphql 的唯一索引或主键违规?
- node.js - Apache 反向代理到 NodeJS WebSocket 服务器
- flutter - 每次按下添加按钮时如何显示输入表单?
- android - 当我与 android 应用程序上的 gradle 文件同步时,我面临以下错误.. 任何人都可以解决这个问题
- android - 使用 mapbox 库在 html/appAndroid 中添加 geotiff 文件
- machine-learning - 如何在拟合 Sklearn 估计器和转换器之前手动指定正类
- android - FillMaxHeight、填充和包装内容在 JetpackCompose 中的行为不符合预期
- python-3.x - 迄今为止在 netCDF4 中的“proleptic_gregorian”
- jquery - 使用内联 jquery 代码删除父级和单击的按钮容器