解决方案 »

  1.   

    SELECT code , name ,count(*) as count,pcode FROM DIC_REGION  where TYPE = 2 group by PCODE
    这个子查询的问题
    你的group by 后面只有PCODE,select中除了PCODE,组函数,常数之外不能出现其他字段
    可以改为group by PCODE,code , name
      

  2.   

    SELECT code , name ,count(*) as count,pcode FROM DIC_REGION  where TYPE = 2 group by PCODE 
          
    建议把  name 去掉,不然有可能出现子查询多行一行的错误 。
      

  3.   

    SELECT code , name ,count(*) as count,pcode FROM DIC_REGION  where TYPE = 2 group by PCODE 
    我用的是mysql,这条语句是可以执行的,他报错的是这条
    where B.TYPE = 1 and C.CODE = B.CODE,这条的只要目的是希望把查询出来的结果和需要修改的字段相关联
      

  4.   

    SELECT code , name ,count(*) as count,pcode FROM DIC_REGION  where TYPE = 2 group by PCODE
    这语句到啥数据库也执行不了,基本的语法问题
    报错的位置可能是其他的位置,但是报错的原因是在这
      

  5.   

    在group by的查询中有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面(重要),
    查询字段只能是分组的字段或者组合函数,其他的字段出现在查询字段时会报错。
    简单来说吧,使用group by 关键字时,在select列表中可以指定的项目是有限制的,select语句中仅允许以下几项,
    1:被分组的列
    2:为每个分组返回一个值的表达式