问题 单项选择题

(31)~(35)题使用下列数据表。
“仓库”表 仓库号 所在地
WH2北京
WH2上海
WH3广州
WH4天津
“职工”表 职工号 仓库号 工资
E1WH1 2100
E2WH2 1500
E3WH3 1350
E4WH1 1850
E5WH3 1900
E6WH1 2000
E7WH4 1450
E8WH2 1200
E9WH1 1600

求至少有4个职工的每个仓库的工资总和( )。

A.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; WHERE COUNT(*)>=4

B.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 SET COUNT(*)>=4

C.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 HAVING COUNT(*)>=4

D.SELECT 仓库号,COUNT(*),SUM(工资) FROM 职工; GROUP BY 仓库号 WHERE COUNT(*)>=4

答案

参考答案:C

解析: 本题中首先通过GROUP BY短语对表记录按“仓库号”字段分组,然后通过COUNT()函数统计每个组中所包含的记录数,即每个仓库中共有多少名职工,利用SUM()函数求每个仓库中职工的工资总和;最后限定输出仓库中至少有4名职工的记录,输出结果包括“仓库号”、统计的仓库人数和该仓库的职工工资总和。 在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING子句必须与GROUP BY短语同时使用。

单项选择题
判断题