问题
单项选择题
(31)到(35)题使用下列数据表。 “仓库”表 仓库号 所在地 WH2 北京 WH2 上海 WH3 广州 WH4 天津 “职工”表 职工号仓库号工资 E1 WH1 2100 E2 WH2 1500 E3 WH3 1350 E4 WH1 1850 E5 WH3 1900 E6 WH1 2000 E7 WH4 1450 E8 WH2 1200 E9 WH1 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 仓库号,COINT(*),SUM (工资) FROM 职工; GROUP BY仓库号WHERE COUNT(*)>=4
答案
参考答案:C
解析: 本题中首先通过GROUP BY短语对表记录按“仓库号”字段分组,然后通过COUNT()函数统计每个组中所包含的记录数,即每个仓库中共有多少名职工,利用SUM()函数求每个仓库中职工的工资总和;最后限定输出仓库中至少有4名职工的记录,输出结果包括“仓库号”、统计的仓库人数和该仓库的职工工资总和。 在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVINO了句必须与GROUP BY短语同时使用。