表是这种
name  region  model   
A1           B1        C1
A2           B2        C2
A3           B3        C3
A4           B1        C2
A5           B2        C1
A6           B1        C1
A7           B1        C3
然后查询出来的是这种region total  C1   C2   C3
 B1          3      2      1      1根据region字段查询,然后在total后面动态显示查出来在region字段中有值的model并统计数量

解决方案 »

  1.   

    select region, 
    count(*) total, 
    sum(if(model = 'C1', 1, 0)) C1,
    sum(if(model = 'C2', 1, 0)) C2,
    sum(if(model = 'C3', 1, 0)) C3
    from a
    group by region;
      

  2.   

    http://blog.csdn.net/acmain_chm/article/details/4283943
    MySQL交叉表
    在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx(  id int primary key,  c1 c...
      

  3.   

    mysql> select id,count(*),GROUP_CONCAT(score) from t2 where id=1 group by id;
    +------+----------+---------------------------------------------------------------------------------------------------------------------------------+
    | id   | count(*) | GROUP_CONCAT(score)                                                                                                             |
    +------+----------+---------------------------------------------------------------------------------------------------------------------------------+
    |    1 |       40 | 100,99,99,98,97,100,99,99,98,97,100,99,99,98,97,100,99,99,98,97,100,99,99,98,97,100,99,99,98,97,100,99,99,98,97,100,99,99,98,97 |
    +------+----------+---------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)