【发布时间】:2011-04-18 03:07:13
【问题描述】:
我想在我的 SQL 查询中有一个 switch case,这样当 group by 不分组任何我不想聚合的元素时,我想聚合。有可能吗。
我的查询是这样的:
select count(1),AVG(student_mark) ,case when Count(1)=1 then student_subjectid else null end from Students
group by student_id
我收到此错误列 'student_subjectid' 在选择列表中无效,因为它既不包含在聚合函数或 GROUP BY 子句中。
提前谢谢..
【问题讨论】:
-
感谢您的编辑.. :)
-
编辑源后错误消息变得无关紧要。您应该在更改后的代码中添加
EDIT注释。否则你应该删除或替换原来的错误信息,因为它现在很混乱。 -
你在说什么?我自己编辑了源代码。
-
你的意思是说我应该保留我的问题,并将更改查询添加为编辑..
-
我说的是您在问题中包含的此错误消息:
Column 'Student_mark' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.我知道它与您的查询的先前版本有关。您更新的脚本不会产生此错误。