gpt4 book ai didi

使用 Group By 时选择最高/最高计数的 SQL

转载 作者:行者123 更新时间:2023-12-04 20:54:05 25 4
gpt4 key购买 nike

任何人都可以帮助我使用 SQL 来返回 App_ID 的最高计数。我正在运行这个返回以下数据集的 SQL。

SELECT COMP_ID, APP_ID, count(*) as cnt 
FROM APP_ACCT_VIEW
GROUP BY COMP_ID, APP_ID

COMP_ID APP_ID CNT
cpo1000c AT 999
cpo1kact AT 895
cpo1kact CPOPYMTS_Administrative 1020
cpo1000c CPOPYMTS_HighValue 1900
cpo1kact CPOPYMTS_HighValue 1020
cpo1000c CPOPYMTS_Internal 1999
cpo1kact CPOPYMTS_Internal 1020
cpo1kact IRCDR 1020
cpo1000c IRCDR 50

但我需要 SQL 返回每个 APP_ID 的顶部/最高 cnt,并且需要输出看起来像这样。

COMP_ID APP_ID                    CNT
cpo1000c AT 999
cpo1kact CPOPYMTS_Administrative 1020
cpo1000c CPOPYMTS_HighValue 1900
cpo1000c CPOPYMTS_Internal 1999
cpo1kact IRCDR 1020

谢谢迪彭

最佳答案

在大多数数据库中,您可以使用 row_number() 函数来执行此操作:

select comp_id, app_id, cnt
from (select t.*, row_number() over (partition by app_id order by cnt desc) as seqnum
from (SELECT COMP_ID, APP_ID, count(*) as cnt
FROM APP_ACCT_VIEW
GROUP BY COMP_ID, APP_ID
) t
) t
where seqnum = 1

如果这不可用,则必须以其他方式计算 seqnum,例如相关子查询。

关于使用 Group By 时选择最高/最高计数的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14821450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com