对于图书管理数据库,查询所藏图书中,有两种及两种以上的图书出版社所出版图书的最高单价和平均单价。下面SQL 语句的横线部分,命令正确的是 SELECT 出版单位,MAX(单价),AVG(单价) FROM 图书; 图书(总编号C(6),

admin2010-11-26  34

问题 对于图书管理数据库,查询所藏图书中,有两种及两种以上的图书出版社所出版图书的最高单价和平均单价。下面SQL 语句的横线部分,命令正确的是
        SELECT 出版单位,MAX(单价),AVG(单价) FROM 图书;
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))

选项 A、GROUP BY 出版单位 HAVING COUNT 总编号>=2
B、GROUP BY 出版单位 HAVING COUNT(DISTINCT 总编号)>=2
C、GROUP BY 出版单位>=2
D、WHERE 总编号>=2

答案B

解析 这是一个分组计算查询,要使用SELECT命令来实现。首先按出版单位进行分组,通过GROUP BY短语实现分组,计算每个出版社出版图书的最高价和平均单价,通过函数MAX( )和AVG( )实现。由于不是要查询所有出版社的信息,而是查询藏书中至少有该出版社两种图书的出版社的这些信息,即要查询的分组要满足一定的条件,这时需要用HAVING子句来限定分组的条件。HAVING是要依赖于GROUP BY而存在,不能单独使用,COUNT(DISTINCT 总编号)统计每个出版社的图书种数。DISTINCT起到的作用是去掉重复值。
转载请注明原文地址:https://kaotiyun.com/show/tlzp777K
0

最新回复(0)