我正在尝试列出研究生人数多于本科生人数的团体。我觉得我的想法背后有概念,但是进行查询比简单的翻译要困难一些。下面是我的代码,我目前在 COUNT(student.career = 'GRD') 处收到缺少右括号的错误。谢谢。
SELECT studentgroup.name
COUNT(student.career = 'GRD') - COUNT(student.career = 'UGRD')
AS Gradnum FROM studentgroup
INNER JOIN memberof ON studentgroup.GID = memberof.GroupID
INNER JOIN student ON memberof.StudentID = student.SID
WHERE Gradnum > 1;
最佳答案
SELECT studentgroup.GID, max(studentgroup.name)
FROM studentgroup
INNER JOIN memberof ON studentgroup.GID = memberof.GroupID
INNER JOIN student ON memberof.StudentID = student.SID
GROUP BY studentgroup.GID
HAVING SUM(CASE WHEN student.career = 'GRD' THEN 1
WHEN student.career = 'UGRD'THEN -1
ELSE 0
END) >0
关于SQL SELECT string 大于使用 count(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16206498/