GROUP BY 子句中 选择列表中的列无效,因为该列没有包含在聚合函
T-SQL核心语句形式:
SELECT 聚合函数: COUNT:求组中项数,返回int类型整数。 GROUP BY 子句:指定用来放置输出行的组。指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。如果 SELECT 子句中包含聚合函数,则计算每组的汇总值。 示例一(Select选择列表中存在聚合函数): 错误的写法: SELECT U_ID,House_Addrinfo,COUNT(U_ID) AS CX 这条语句出现"选择列表中的列 'YX_ChuShou.House_Addrinfo' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。"的错误提示。 正确的写法: SELECT U_ID,min(House_Addrinfo),COUNT(U_ID) AS CX SELECT U_ID, 错误的写法: 服务器: 消息 8120,级别 16,状态 1,行 1 或: 即指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。 小白:因为结果是一个表,所以一般不会出现 如果 select job_id,job_desc,sum(max_lvl) from jobs group by jobs.job_id,job_desc 非要并列显示点什么,那对应列都应写在group by里,确保该列一个值就出现一次, 一个值对应一个sum 有一个列就加进group by一个 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |