sql中使用sum函数 出现列名无效 10
题目是这样的:统计第2学期开设的课程的总学分,列出该学期所有的课程名,学分和总学分Course是我的存课程的表如下:以下是我写的代码:SELECTCname课程名,Cre...
题目是这样的:统计第2学期开设的课程的总学分,列出该学期所有的课程名,学分和总学分
Course是我的存课程的表
如下:
以下是我写的代码:
SELECT Cname 课程名,Credit 学分,SUM(Credit) AS 总学分
From Course
WHERE Semester =2
错误信息:
消息 8120,级别 16,状态 1,第 1 行
选择列表中的列 'Course.Cname' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
去掉SUM(Credit) AS 总学分就不会报错,查询结果如下:
那怎么查出我想要的结果?
如下:
请解答,谢谢,分不多,麻烦了! 展开
Course是我的存课程的表
如下:
以下是我写的代码:
SELECT Cname 课程名,Credit 学分,SUM(Credit) AS 总学分
From Course
WHERE Semester =2
错误信息:
消息 8120,级别 16,状态 1,第 1 行
选择列表中的列 'Course.Cname' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
去掉SUM(Credit) AS 总学分就不会报错,查询结果如下:
那怎么查出我想要的结果?
如下:
请解答,谢谢,分不多,麻烦了! 展开
1个回答
展开全部
SELECT Cname 课程名,Credit 学分,SUM(Credit) AS 总学分
From Course
WHERE Semester =2
group by Cname ,Credit
但是这样写会有问题,应该不是你要的 ,你需要的应该是这个
SELECT Cname 课程名 ,SUM(Credit) AS 总学分
From Course
WHERE Semester =2
group by Cname
From Course
WHERE Semester =2
group by Cname ,Credit
但是这样写会有问题,应该不是你要的 ,你需要的应该是这个
SELECT Cname 课程名 ,SUM(Credit) AS 总学分
From Course
WHERE Semester =2
group by Cname
追答
你是想要所有学分相加?
SELECT CASE WHEN GROUPING(Cname) = 1 THEN '总学分'ELSE Cname end as 课程名, SUM(Credit) AS 学分
From Course
WHERE Semester =2
GROUP BY Cname
WITH ROLLUP
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询