gpt4 book ai didi

mysql - SQL查询: Need to output two columns with values based on conditional data

转载 作者:行者123 更新时间:2023-11-29 09:29:20 24 4
gpt4 key购买 nike

我一直在查看一些相关的帖子,但似乎无法在 Oracle SQL 中实现此功能,因此需要一些指导。我正在处理一些数据,我希望根据条件数据输出来自同一表和自定义列中的列的值。

示例数据:

corp_acct   Subscriber_id  MAX_EXTENSIONS    
10001 90000 1
10002 90001 1
10003 90002 2
10004 90003 3
10005 90004 1
10006 90005 2
10007 90005 1

在此示例中,我想输出两列 corp_acct,一列为较小,一列为较多,其中在第一列中我希望输出 max_extensions = 1 的所有 corp_acct,在第二列中我希望输出所有 => 2 的 corp_acct

输出示例

lesser      more  
10001 10003
10002 10004
10005 10006
10007

我不想创建任何新表,只想在可能的情况下根据输出这两列执行选择语句。

最佳答案

您可以使用聚合和row_number():

select max(case when max_extensions = 1 then corp_acct end) as col1,
max(case when max_extensions > 1 then corp_acct end) as col2
from (select t.*,
row_number() over (partition by case when max_extensions = 1 then 1 else 2 end order by corp_acct) as seqnum
from t
) t
group by seqnum;

关于mysql - SQL查询: Need to output two columns with values based on conditional data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59038628/

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