当前位置: 代码迷 >> Sql Server >> 一路SQL题目
  详细解决方案

一路SQL题目

热度:85   发布时间:2016-04-24 08:46:46.0
一道SQL题目
下图题目中
空61 的原版答案说是选C
但是我觉得选D也是可以的,
因为分组之后进行
sum(分数)/count(课程数)
应该也是正确的


然后空62 的原版答案说是选D
但是我觉得应该选C,因为这里很明显是判断选修课程的数目,一个学生选修多个课程就会有多个sno,所以不应该用distinct

然后我到别的地方找答案(最后一个图),确实61和62有选 D和C的

现在问题是两个版本的答案哪个是正确的?   












但是我搜到别的地方的正确答案是  D和C



------解决思路----------------------
一看就是个学生,太较真了。
题目就是让你懂SUM和COUNT 还有GROUP BY 和HAVING的用法,
你懂了就好 答案选什么真的不用在意
------解决思路----------------------
明显答案有问题,61应该CD。62如果只能选的话,选C。
如果是我写,having count( distinct cno)>1 (加distinc的目的是排除补考,但如果没有补考、重考的事,就可以去掉distinc,或者count任意字段)


------解决思路----------------------
对这出题人真是醉了 
(61)CD都可以 
(62)不知道是答案的sno写错了还是答案写错了 disctinct sno 的话 count(disctinct sno)>1 永远都为False 应该为cno才对
出个题目还有那么多问题 简直就是误人子弟
------解决思路----------------------
明显是出题人没写明题意导致的问题
  相关解决方案