2017-05-29 8 views
0

テーブルのピボッティングに問題があります。あなたは誰かこのケースでいくつかの提案をお願いしますか?SQLでのピボットの問題

私の下の表は、次のようになります。

AgeRange  Male Female 
    21-30   15 
    21-30     11 
    31-40   25 
    41-50   18 
    41-50     22 
    51-60   32 

私は、下記の

PIVOT (
SUM (AgeRange) 
FOR [AgeRange] IN ([MALE], [FEMALE]) 
) 
AS AGE 
を使用

AgeRange  Male Female 
21-30   15  11 
31-40   25 
41-50   18  22 
51-60   32 

、年齢範囲で重複行を削除することによって、以下のようにそれを見てみたいです

しかし、動作しません。あなたのデータが列MaleFemaleに既にあるようにあなたは、年齢の範囲で、これらの列の合計を取得したい場合は、単にGROUP BYで集約を使用して

答えて

1

は、ルックス:

SELECT AgeRange, 
    sum(Male) as Male, 
    sum(Female) as Female 
FROM <yourtable> 
GROUP BY AgeRange 

PIVOTが使用されていますデータの行を列に変換しますが、すでに列があるようです。

0

** SELECT age_range、Max(男性)、Max(女性)FROM age_range GROUP BY age_range ORDER BY age_range; **