SQL SELECT string 大于使用 count()

标签 sql count

我正在尝试列出研究生人数多于本科生人数的团体。我觉得我的想法背后有概念,但是进行查询比简单的翻译要困难一些。下面是我的代码,我目前在 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/

相关文章:

sql - 如果表A中的值不为空,如何从表B中获取值

mysql - 将列中的项目计为行 MYSQL

php - 计算与分支机构有业务往来的 worker

android - 计算返回 null 的解析用户数

javascript - jQuery 计数/长度预输入远程

asp.net - 在 SQL 查询中使用 LIKE

Java JDBC 问题,第 1 行不包含所有列的数据

sql - Postgres 查询优化

mysql - 如何选择其他查询中不存在的数据

sql - 使用 LIMIT/OFFSET 运行查询并获取总行数