查询价格超过2500美元的便携式电脑的平均速度
本题目要求编写SQL语句, 查询价格超过2500美元的便携式电脑的平均速度。
表结构:
CREATE TABLE laptop
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
screen DECIMAL(6,2), --屏幕大小
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
表样例
laptop表:
输出样例:
解析:sql提供了许多集函数(或称聚合函数)。
- count(*); 统计查询结果中的元组个数。
- count(<列名>); 统计查询结果中一个列上的值的个数。
- max(<列名>);计算查询结果中一个列上的最大值。
- min(<列名>);计算查询结果中一个列上的最大值。
- sum(<列名>);计算查询结果中一个数值列上的总和。
- avg(<列名>);计算查询结果中一个数值列上的平均值。
说明: - 除count(*)外其他集函数都会先去掉空值再计算。
- 在列名前加 distinct 会去掉重复值再计算。
解答:
select avg(speed) avg_speed
from laptop
where price>2500