关于“该列没有包含在聚合函数或 GROUP BY 子句中”

GROUP BY 子句
指定用来放置输出行的组,并且如果 SELECT 子句 中包含聚合函数,则计算每组的汇总值。指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。
SELECT U_ID,House_Addrinfo,
COUNT(U_ID) AS CX
FROM YX_ChuShou
GROUP BY U_ID
ORDER BY CX DESC


这条语句出现"选择列表中 的列 'YX_ChuShou.House_Addrinfo' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。"的错误提示。

 

正确的写法是

 

SELECT U_ID,min(House_Addrinfo),
COUNT(U_ID) AS CX
FROM YX_ChuShou
GROUP BY U_ID
ORDER BY CX DESC

SELECT U_ID,House_Addrinfo, 
COUNT(U_ID) AS CX 
FROM YX_ChuShou 
GROUP BY U_ID ,House_Addrinfo
ORDER BY CX DESC

 

from:http://ruiqun566-163-com.javaeye.com/blog/686807

posted @ 2010-06-23 11:01  邓维  阅读(16029)  评论(0编辑  收藏  举报