本帖最后由 terry5201234 于 2014-06-08 15:02:12 编辑

解决方案 »

  1.   

    没看懂,结果是的0,1,2,3是怎么来的。   建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

  2.   

    谢谢 2位的回复 由于开会的原因 现在才回复大家 非常抱歉以下的是我的SQL代码 我的MYSQL版本是 5.5.36-- ----------------------------
    -- Table structure for `test1`
    -- ----------------------------
    DROP TABLE IF EXISTS `test1`;
    CREATE TABLE `test1` (
      `id` int(4) NOT NULL AUTO_INCREMENT,
      `name` varchar(15) NOT NULL,
      `city` varchar(10) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=gbk;-- ----------------------------
    -- Records of test1
    -- ----------------------------
    INSERT INTO `test1` VALUES ('1', 'aa', 'Czz');
    INSERT INTO `test1` VALUES ('2', 'bb', 'Cxx');
    INSERT INTO `test1` VALUES ('3', 'aa', 'Cyy');
    INSERT INTO `test1` VALUES ('4', 'bb', 'Cyy');
    INSERT INTO `test1` VALUES ('5', 'xx', 'Chh');
    INSERT INTO `test1` VALUES ('6', 'hh', 'Czz');
    INSERT INTO `test1` VALUES ('7', 'hh', 'Czz');
    INSERT INTO `test1` VALUES ('8', 'hh', 'Cyy');下面是我希望得到的结果 我用EXCEL做的
    Czz Cxx Cyy Chh
    aa 1 0 1 0
    bb 0 1 1 0
    xx 0 0 0 1
    hh 2 0 2 0假设aa,bb,xx,hh是姓名 Czz,Cxx,Cyy,Chh是所在城市 统计每个城市下面这个姓名的人数有多少个
    附上我用excel做的过程和结果 希望各位大虾不吝赐教 再次感激由于EXCEL原件不知道如何上传 所以 只能提供截图了 如何需要原件 可以留下邮件 我发给您 谢谢
      

  3.   

    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...
      

  4.   

    你是想直接通过sql查询出来,在直接将查询出来的结果集搬到excel里面吗?使用这个函数试试DISTINCT
      

  5.   


    非常感谢您的回复 不过我希望查询出来的结果是最终结果 不需要EXCEL的