统计课时用,需要求出各班各学科各多少节。class01 class02 class03
数 英 数
数 英 数
英 体 化
英 化 生
理 地 体
化 数 英
地 数 理
史 理 政
需要统计出如下格式:
   class01   class02 class03
语  0         0       0
数  2         2       2
英  2         2       1用 select count(*) from mytable group by class01,在PHP5中尽量不用循环,能实现吗?

解决方案 »

  1.   

    select '语', sum(if(class01='语',1,0)),
    sum(if(class02='语',1,0)),
    sum(if(class03='语',1,0))
    from table1
    union all
    select '数', sum(if(class01='数',1,0)),
    sum(if(class02='数',1,0)),
    sum(if(class03='数',1,0))
    from table1
    union all
    select '英', sum(if(class01='英',1,0)),
    sum(if(class02='英',1,0)),
    sum(if(class03='英',1,0))
    from table1