【问题标题】:Turning columns into rows (ORACLE)将列转换为行 (ORACLE)
【发布时间】:2015-10-03 00:32:46
【问题描述】:

我正在尝试将我的查询列转换为行。 这是我的查询:

select sum(CASE WHEN 
                     t.price < 5000
                THEN t.price END) AS RANGE1,
       sum(CASE WHEN 
                     t.price between 5000 and 10000 
                THEN t.price END) AS RANGE2,
       sum(CASE WHEN 
                     t.price > 10000
                THEN t.price END) AS RANGE3
From
      cars t
Where
      t.status = 3 

结果是这样的:

RANGE1   RANGE2    RANGE3
-------  -------  --------
50000     75000      84000

我想要的结果如下:

RANGE    TOTAL    
------- -------  
RANGE1   50000    
RANGE2   75000      
RANGE3   84000

【问题讨论】:

标签: oracle oracle11g


【解决方案1】:

试试:

select 
        'RANGE1' RANGE,
        sum(CASE WHEN 
                     t.price < 5000
                THEN t.price END) AS total
From
      cars t
Where
      t.status = 3 

union all

select 
        'RANGE2' RANGE,
       sum(CASE WHEN 
                     t.price between 5000 and 10000 
                THEN t.price END) AS total
From
      cars t
Where
      t.status = 3 

union all

select  
        'RANGE3' RANGE,
       sum(CASE WHEN 
                     t.price > 10000
                THEN t.price END) AS total
From
      cars t
Where
      t.status = 3 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 2019-10-14
    • 1970-01-01
    相关资源
    最近更新 更多