【发布时间】:2020-09-08 21:12:06
【问题描述】:
我有一个如下所示的表格:
--------------------------------
ENTITY | VALUE X | VALUE Y
--------------------------------
AAA | 100 | 50
--------------------------------
BBB | 0 | 20
--------------------------------
CCC | null | null
--------------------------------
DDD | 100 | 100
--------------------------------
我想确定哪一列(X 或 Y)具有最大值(在我的实际数据集中有五列,但为了简单起见,我在这里使用两列)。
如果两者都为空,我希望结果为空。
如果出现平局,我想为决胜局设置一个排名 (x > y > z...)
所需的输出如下所示
---------------------------------------------------
ENTITY | VALUE X | VALUE Y | DESIRED OUTPUT
---------------------------------------------------
AAA | 100 | 50 | X
---------------------------------------------------
BBB | 0 | 20 | Y
---------------------------------------------------
CCC | null | null | null
---------------------------------------------------
DDD | 100 | 100 | X
---------------------------------------------------
我一直在尝试使用MAX(),但是,我认为这主要是为了比较列中的行,而不是相反...
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: sql oracle plsql subquery unpivot