首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何摆脱多个branch_id?

如何摆脱多个branch_id?
EN

Stack Overflow用户
提问于 2019-11-02 02:04:25
回答 3查看 84关注 0票数 1

我有一个这样的SQL查询:

代码语言:javascript
运行
复制
SELECT 
    COUNT(PERMISSION_ID) AS USER_TOTAL_PERMISSION_PER_BRANCH,
    USER_ID,
    BRANCH_ID
FROM BRANCH_PERMISSION_USER
GROUP BY USER_ID, BRANCH_ID
ORDER BY USER_ID, USER_TOTAL_PERMISSION_PER_BRANCH DESC

但是我有一个问题,因为我只想要每个user_id的第一行。主要目标是将用户列表放在一起,它是USER_TOTAL_PERMISSION_PER_BRANCH上的分支和TOP1或distinct

以下是示例输出:

预期输出应为:

代码语言:javascript
运行
复制
[USER_TOTAL_PERMISSION_PER_BRANCH][USER_ID][BRANCH_ID]

135    1    1
135    2    1
134    3    1
1      4    1
1      5    1
1      6    1
EN

Stack Overflow用户

发布于 2019-11-02 02:09:23

您可以使用相关性将您的查询转换为CTE a do过滤:

代码语言:javascript
运行
复制
with cte as (
    select 
        count(permission_id) as user_total_permission_per_branch,
        user_id,
        branch_id
    from branch_permission_user
    group by user_id, branch_id
)
select c.* 
from cte c
where c.user_total_permission_per_branch = (
    select max(c1.user_total_permission_per_branch)
    from cte c1 
    where c1.user_id = c.user_id and c1.branch_id = c.branch_id
)
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58663842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档