count(*)    old       mz
1 10 汉族
1 10 蒙古族
1 20 藏族
2 20 汉族
1 30 汉族
1 50 回族
1 50 岱族
1 70 回族
如何实现成
old     汉族     蒙古族    藏族     回族    岱族
10 1 1
20 2 1
30 1
40
50 1 1
60
70 1
80
90
00

解决方案 »

  1.   

    如果只有这几种的话,可以
    select old,sum(decode(mz,'汉族',1,0)) as '汉族',
    sum(decode(mz,'蒙古族',1,0)) as '蒙古族',
    sum(decode(mz,'藏族',1,0)) as '藏族',
    sum(decode(mz,'回族',1,0)) as '回族',
    sum(decode(mz,'岱族',1,0)) as '岱族'
    from tbname group by old;