SQL

时间:2017-05-29 16:24:13

标签: sql oracle

我对表有一些转动问题。在这种情况下,你能否请一些人给出一些建议?

我的表格如下:

 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

但它不起作用。

2 个答案:

答案 0 :(得分:1)

您的数据看起来已经在MaleFemale列中,因此,如果您想按年龄范围获取这些列的总和,只需使用GROUP BY聚合:

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

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

答案 1 :(得分:0)

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