select a.sys_userDiQu,COUNT(*) cc
from wps_systemtj a
inner join 
(
select sys_userDiQu ,max(sys_version) as max_sys_version
from wps_systemtj 
group by sys_userDiQu 
)b
 on a.sys_userDiQu = b.sys_userDiQu and
    a.sys_version = b.max_sys_version
group by a.sys_userDiQu

解决方案 »

  1.   

    第一:不能对包含聚合或子查询的表达式执行聚合函数 ,所以count(max(sys_version)) 这个写法存在语法错误。
    第二:sys_version 这个列的类型不能用max函数
      

  2.   

    select sys_userdiqu,count(sys_version)
    from (
    select sys_userDiQu ,max(sys_version)sys_version from wps_systemtj group by sys_userDiQu)a
    group by sys_userdiqu
      

  3.   

    因为max对应的sys_userdiqu只有一个,如果你要不现实sys_userDiQu,直接在外层count,不用group by和select那里的sys_userDiQu