列を行に変換する(ORACLE)

ヘンリーカバレロ

クエリ列を行に変換しようとしています。これは私の質問です:

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
プラビーン

試してみてください:

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 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事