2017-05-29 39 views
0

我对表格有一些摆动问题。你能否在这种情况下提出一些建议?SQL中的透视问题

我的表看起来如下:

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

我想年龄在去除重复行看起来像下面,

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

我下面所用,

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

但它不起作用。

回答

1

看起来你的数据已经在列MaleFemale,所以如果你想要的年龄范围来获得这些列的总和,只需使用一个GROUP BY聚集:

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

PIVOT使用将数据行转换为列,但看起来您已经有了列。

0

** SELECT age_range,Max(male),Max(female)FROM age_range GROUP BY age_range ORDER BY age_range; **