像这样:select count(*) from table where id = 2 group by all name我试了一下,好像不支持啊 如果
select name, count(*) from table where id = 2 group by name
这样的话那些id 不等于2的 name是不能select出来的

解决方案 »

  1.   

    把where后边的id=2去掉不就行了吗?
      

  2.   

    当然不能去掉,去掉和我的要求不符了我是需要id不等于2的name对应的count(*)为0
    类似这样:name count(*)a    0
    b    6
    c    10
      

  3.   

    DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`test`$$CREATE PROCEDURE `test`.`test`()
    declare cnt int;
    declare name1 varchar(80);
    select count(*),name from table where id != 2 into cnt,name1;
    if cnt = 0 then
    select name1,cnt;
    end if;
        BEGIN    END$$DELIMITER ;