表内容
strName|ClassID|userPage
-------------------------
A      |1      |5
A      |2      |6
B      |1      |5
B      |2      |6
A      |1      |2
A      |2      |3期望得到的结果
名称   |ClassID=1 |ClassID=2
-------------------------------
A      |7         |9
B      |5         |6实在不知道该怎么写了。 谢谢~~~~还请各位帮忙。

解决方案 »

  1.   

    select strName as `名称`,
    sum(If(ClassID=1,1,0)) as `ClassID=1`,
    Sum(if(ClassID=2,1,0)) as `ClassID=2`
    from 表内容
    group by strName
      

  2.   

    参考下贴中多种方法http://blog.csdn.net/acmain_chm/article/details/4283943
    MySQL交叉表
      

  3.   

    select strName as `名称`,
        sum(case when ClassID=1 then 1 else 0 end) as `ClassID=1`,
        Sum(case when ClassID=2 then 1 else 0 end) as `ClassID=2`
    from tt
    group by strName