需要更正Sql查询吗
我需要一些关于以下查询的帮助。我需要找到: 每个校园每学期的平均人数 我的表格结构是:需要更正Sql查询吗,sql,sql-server,Sql,Sql Server,我需要一些关于以下查询的帮助。我需要找到: 每个校园每学期的平均人数 我的表格结构是: 表名-注册 纵队 学生证 校园 年 批处理 学期 在校园、年、学期和批次的帮助下,我可以识别每个独特的学期。更多关于我的student\u id的信息在数据库中重复 我没有跟踪,但这没有帮助。所以我需要一些帮助 SELECT semester,year,campus FROM regestration GROUP BY semester, year, campus ORDER BY co
- 表名-注册
- 纵队
- 学生证
- 校园
- 年
- 批处理
- 学期
校园
、年
、学期
和批次
的帮助下,我可以识别每个独特的学期。更多关于我的student\u id
的信息在数据库中重复
我没有跟踪,但这没有帮助。所以我需要一些帮助
SELECT semester,year,campus
FROM regestration
GROUP BY semester, year, campus
ORDER BY count(*) desc
尝试以下方法:
SELECT year,campus, AVG(CountOfStudents)
FROM
(
SELECT semester,year,campus, count(*) as CountOfStudents
FROM regestration
GROUP BY semester, year, campus
) t
GROUP BY year, campus
要获得每个学期每个校区的学生人数,您需要在查询中添加COUNT(*):
SELECT semester, year, campus, COUNT(*) as students
FROM registration
GROUP BY semester, year, campus
不过,我不知道你在这里想要的平均值是多少。怎么样
select avg(students), campus from (
select count(student_id) students, campus from registration
group by semester, year, campus
) group by campus
拼写为“registration”(注册)。外部选择将返回内部选择的结果,因为外部group by实际上不会对任何内容进行分组。@pointy的回答可能会有所改进,具体取决于数据在regestration中的存储方式。但是,甚至可能需要
计数(不同的学生id)
来代替计数(*)
。在一个学期、一年、一个校区的注册表中,每个学生可以有多个条目吗?@zmbq:谢谢。我编辑了我的答案,以便更好地符合这个问题。已将外部组中的学期从中删除,因为表示他们希望每个校区(可能是每年)有学生。是的,在regestration表中每个学生可以有多个条目。在我将组中的year属性添加到campus中后,这很好并且有效。谢谢