日期:2014-05-18  浏览次数:20526 次

因为该列没有包含在聚合函数或 GROUP BY 子句中
select top 8 * from CommentList CL inner join Comment C on CL.ComID=C.ComID group by CL.ComID order by count(CL.ComID) desc

提示:选择列表中的列 'CommentList.ListID' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
我把group by CL.ComID 改为group by CL.ComID,CL.ListID
就又提示:选择列表中的列 'CommentList.Commentator' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
我在group by CL.ComID,CL.ListID后面加上CL.Commentator,
。。。
就这样一直把CommentList表的其它字段加完,最后就提示:不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。




请大家帮我分析一下,该怎么改SQL





------解决方案--------------------
你知道group是用来干什么的吗?
------解决方案--------------------
包含group by的sql语句不能带select * ,只能是select sum(field),avg(field),...,count(),group by 后面的字段名