gpt4 book ai didi

oracle - PIVOT,如何将非指定行转换为列?

转载 作者:行者123 更新时间:2023-12-01 10:58:58 27 4
gpt4 key购买 nike

我的表中有 IDNUMBER 列。

ID 可以是 1 到 200 之间的数字,NUMBER 可以是 1 到 100000 之间的任何数字。

下面的代码工作完美。

SELECT *
FROM PIVOT_DATA
PIVOT (
SUM(NUMBER)
FOR (ID)
IN (1 , 2)
);

但是,我想选择 3 列(1、2、其他),如何选择除 1 或 2 以外的所有其他 ID?它应该类似于下面的代码,但是什么?

SELECT *
FROM PIVOT_DATA
PIVOT (
SUM(NUMBER)
FOR (ID)
IN (1 , 2, OTHERS)
);

最佳答案

使用 CASE 语句将您的列转换为您想要转换的三个值。

CASE ID
WHEN 1 THEN '1'
WHEN 2 THEN '2'
ELSE 'OTHERS'
END

然后以该值而不是 ID 为中心。

关于oracle - PIVOT,如何将非指定行转换为列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12972743/

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