列 'dbo.****.id' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。在数据库的编程中经常会碰到这个错误,现在理解了之后看出错的语句,从逻辑上都是行不通了。 比如:select count(a) as aa,b from d_user order by b desc; 如果b在表中有几行数据,但是b只有一个;一个和几个是不能对应的,所以要引进group by作个分组。