我有select语句返回两个值(一列,两行)。我想改变它们,以便我有两列和一行。我知道有像pivot这样的东西,但我不知道如何使用它,因为它需要聚合值,我不会在这里汇总任何东西。什么是最高效的方法来完成这项任务?谢谢!
答案 0 :(得分:1)
一种简单的方法是使用min()
和max()
:
select min(col), max(col)
from (<your query here>) t;
答案 1 :(得分:1)
使用ROWNUM
伪列为每列生成唯一标识符,然后您可以使用任何聚合函数(因为它只会聚合单个值):
SELECT value1, value2 /*, value3 ... */
FROM ( SELECT your_column, ROWNUM AS rn FROM your_table_or_query )
PIVOT ( MAX( your_column )
FOR rn IN ( 1 AS value1, 2 As value2 /*, 3 AS value3 ... */ )
);