mysql计算班级成绩等级等于A B C的占比
时间: 2023-08-03 12:07:30 浏览: 44
可以通过以下SQL语句来计算班级成绩等级等于A、B、C的占比:
```
SELECT
CONCAT(
ROUND(SUM(CASE WHEN grade >= 90 THEN 1 ELSE 0 END) / COUNT(*) * 100, 2), '% A, ',
ROUND(SUM(CASE WHEN grade >= 80 AND grade < 90 THEN 1 ELSE 0 END) / COUNT(*) * 100, 2), '% B, ',
ROUND(SUM(CASE WHEN grade >= 70 AND grade < 80 THEN 1 ELSE 0 END) / COUNT(*) * 100, 2), '% C'
) AS percentage
FROM
scores
WHERE
class = '班级名称';
```
其中,假设成绩表为`scores`,成绩字段为`grade`,班级字段为`class`。以上代码中会根据班级名称来计算班级成绩等级等于A、B、C的占比,并且输出结果的格式为`x.xx% A, x.xx% B, x.xx% C`。
相关问题
mysql计算班级成绩等级等于a b c的占比
可以使用以下SQL语句来计算班级成绩等级为a、b、c的占比:
```
SELECT
CONCAT(ROUND(COUNT(CASE WHEN grade = 'a' THEN 1 END) / COUNT(*) * 100, 2), '%') AS 'a占比',
CONCAT(ROUND(COUNT(CASE WHEN grade = 'b' THEN 1 END) / COUNT(*) * 100, 2), '%') AS 'b占比',
CONCAT(ROUND(COUNT(CASE WHEN grade = 'c' THEN 1 END) / COUNT(*) * 100, 2), '%') AS 'c占比'
FROM
class_scores;
```
其中,`class_scores`是存储班级成绩的表,`grade`是成绩等级的列。这个SQL语句会计算班级成绩等级为a、b、c的人数占总人数的百分比,并且以百分比的形式返回结果。
mysql中统计a字段不等于100,b字段的占比
可以使用以下SQL语句来统计a字段不等于100,b字段的占比:
```
SELECT COUNT(CASE WHEN a <> 100 THEN 1 END) / COUNT(*) AS b_percentage
FROM your_table;
```
其中,your_table是你要查询的表的名称。这条SQL语句会返回一个结果集,其中包含了b字段的占比。它使用了MySQL的条件表达式和聚合函数COUNT,具体解释如下:
- COUNT(CASE WHEN a <> 100 THEN 1 END) 统计了a字段不等于100的记录数。
- COUNT(*) 统计了表中所有记录的数目。
- 通过将这两个数相除,得到了b字段的占比。
请注意,需要根据实际情况修改表名和字段名。