作者ho83leo (LWHo)
看板Database
标题[SQL ] 题目解读有点困难
时间Thu Oct 29 19:29:03 2015
(针对
SQL 语言的问题,用这个标题。请用 Ctrl+Y 砍掉这行)
资料库名称:MySQL
资料库版本:5.5.46
内容/问题描述:
做练习题时解读题目有点困难,
题目为 :
依主修结算所有三, 四年级全部学生的平均GPA大於3.2者.
表格输出两栏(主修,GPA平均值)
主修 GPA平均值
ACCT 3.500000
PERF 3.600000
这是正确答案
https://goo.gl/H6ZzR9
这是table的资料
而我的语法为
SELECT stdmajor , stdGPA
FROM student
WHERE stdGPA in (
SELECT avg(stdGPA) > 3.2
FROM student
WHERE stdclass='JR' and 'SR' );
是我语法错了, 还是逻辑错了??
带出来却都是NULL...
希望有高手能高抬贵手, 能帮忙解决我这小问题.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.22.123.252
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1446118146.A.EA5.html
※ 编辑: ho83leo (211.22.123.252), 10/29/2015 19:32:14
1F:→ maple0517: WHERE stdclass IN ('JR','SR') ??10/29 20:25
2F:→ joedenkidd: where stdclass='JR' or stdclass='SR' 应该也行10/29 21:28
3F:→ joedenkidd: 个人觉得问题出在 and ,同一栏不可能同时是JR及SR10/29 21:35
4F:→ joedenkidd: 所以应该改成 or 其中一条件成立,或像楼上的用IN10/29 21:36
感谢各位大大能帮忙解惑!
※ 编辑: ho83leo (120.102.146.202), 10/30/2015 11:15:34
还是这种写法 我还比较看得懂... 感谢chip大解惑也
※ 编辑: ho83leo (123.50.49.92), 11/01/2015 14:37:47