设有学生表,结构为:学生表(学号,姓名,所在系)。现要建立统计每个系的学生人数的视图

设有学生表,结构为:学生表(学号,姓名,所在系)。现要建立统计每个系的学生人数的视图,正确语句是( D )
A. CREATE VIEW v1 AS SELECT 所在系, COUNT() FROM 学生表 GROUP BY 所在系
B. CREATE VIEW v1 AS SELECT 所在系, SUM(
) FROM 学生表 GROUP BY 所在系
C. CREATE VIEW v1(系名,人数) AS SELECT 所在系, SUM() FROM 学生表 GROUP BY 所在系
D. CREATE VIEW v1(系名,人数) AS SELECT 所在系, COUNT(
) FROM 学生表 GROUP BY 所在系
这个A选项为啥不可以,

以上提问确实比较清晰明了,需要从建立统计每个系的学生人数的视图角度来看。正确答案应该是选项C。

在MySQL数据库中,CREATE VIEW语句用于创建视图。视图是根据SELECT语句定义的虚拟表。它们不包含数据,而是只显示SELECT语句中定义的数据。本题需要统计每个系的学生人数,因此需要使用GROUP BY子句对每个系进行分组计算。

选项A中,使用的是COUNT()函数进行计数,但是COUNT()函数需要指定一个参数,表示需要计数的列。应该将COUNT()函数改为COUNT(*),表示计算所有行的行数。

选项B使用的是SUM()函数进行计数,但是SUM()函数通常用于计算数值型数据的合计值,不适用于计数。需要改为COUNT(*)函数进行计数。

而选项C则使用了正确的SUM()函数对每个系的学生人数进行计算,同时定义了视图v1的两个列名分别为“系名”和“人数”。

最后,选项D中使用了COUNT()函数进行计数,但是没有指定参数,会导致错误。因此,选项C是正确的。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^