使用一个存储过程实现查询最高分,最低分,各分数段的人数,平均分
时间: 2023-07-13 15:31:20 浏览: 60
好的,以下是一个示例的 SQL 存储过程,实现了查询最高分,最低分,各分数段的人数,平均分:
```
CREATE PROCEDURE sp_get_score_statistics
AS
BEGIN
SELECT
MAX(score) AS max_score,
MIN(score) AS min_score,
AVG(score) AS avg_score,
SUM(CASE WHEN score >= 90 THEN 1 ELSE 0 END) AS num_90,
SUM(CASE WHEN score >= 80 AND score < 90 THEN 1 ELSE 0 END) AS num_80,
SUM(CASE WHEN score >= 70 AND score < 80 THEN 1 ELSE 0 END) AS num_70,
SUM(CASE WHEN score < 70 THEN 1 ELSE 0 END) AS num_less_than_70
FROM scores;
END;
```
这个存储过程假设有一个名为 "scores" 的表,其中包含每个人的分数。存储过程使用 MAX、MIN 和 AVG 聚合函数来计算最高分、最低分和平均分。然后,它使用 SUM 和 CASE 语句来计算各分数段的人数。
调用存储过程时,只需要执行以下 SQL 语句:
```
EXEC sp_get_score_statistics;
```
注意:为了保护您的隐私和数据安全,请勿在任何公共站点上公开您的敏感数据和信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)