虽然很忙,还是帮你一下吧,注意以下语句
select stor_id,payterms,title_id,avg(...)
from sales
group by payterms
go
其中avg(...)为聚合函数,GROUP BY 

解决方案 »

  1.   

    虽然很忙,还是帮你一下吧,注意以下语句
    select stor_id,payterms,title_id,avg(...)
    from sales
    group by payterms
    go
    其中avg(...)为聚合函数,GROUP BY 规则有以下两条须注意:
    1、在其子句中不能使用聚合函数,如上avg(..)不能在group by 后出现;
    2、必须在group by子句中列出select选择列表中所有的非聚合项,你的语句中stor_id,payterms,title_id都是非聚合项,所以都应出现在group by 后面的。而你只列出了payterms,所以出错。你明白了吗?
      

  2.   

    列 'sales.stor_id' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。说的很清楚, 不能再清楚了.在选择列表中的列只能是如下的一种:
    1. 包含在 GROUP BY 子句中的列.
    2. 包含在聚合函数(如 max(), min(), count())中列.
      

  3.   

    表面语法没错,逻辑不对。若同样的payterms对应不同的stor_id时此语句就无法解释。
      

  4.   

    可是书上介绍的标准SQL语句就是那么写的啊!不过我现在明白了!
    真是太感谢楼上的各位了!谢谢了!