我想在同一个表上添加两个SQL查询。我想显示一个显示JuniorCount,SeniorCount和DeptID的表。
现在我的查询计算了部门ECE的青少年/大四学生,但我不确定如何将它们一起添加到单独的列以及deptid中。
SELECT COUNT(*) as JuniorCount
FROM (SELECT Class, DeptID FROM tblStudent WHERE Class = "Junior" AND DeptID = "ECE")
SELECT COUNT(*) as SeniorCount
FROM (SELECT Class, DeptID FROM tblStudent WHERE Class = "Senior" AND DeptID = "ECE")
答案 0 :(得分:6)
这就是你需要的
SELECT DeptID,
sum(case when Class = 'Junior' then 1 else 0 end) as JuniorCount,
sum(case when Class = 'Senior' then 1 else 0 end) as SeniorCount
FROM
tblStudent WHERE DeptID = 'ECE'
Group by DeptID
在MS ACCESS中
SELECT DeptID,
sum(IIF(Class = 'Junior' ,1,0)) as JuniorCount,
sum(IIF(Class = 'Senior' ,1,0)) as JuniorCount
FROM
tblStudent WHERE DeptID = 'ECE'
Group by DeptID
答案 1 :(得分:2)
您需要使用GROUP BY
来获取每个类的总和。
SELECT Class, COUNT(*)
FROM tblStudent
WHERE Class IN('Junior', 'Senior')
AND AND DeptID = "ECE"
GROUP BY Class
(如果表中只有小辈和老年人,则可以省略CLASS IN
部分。)