用mysql写一个能够统计学生成绩为null和不为null或者0的人数,且将两种人数进行汇总
时间: 2024-03-27 22:39:53 浏览: 53
可以使用如下的SQL语句来实现该功能:
```sql
SELECT
SUM(CASE WHEN score IS NULL OR score = 0 THEN 1 ELSE 0 END) AS null_or_zero_count,
SUM(CASE WHEN score IS NOT NULL AND score != 0 THEN 1 ELSE 0 END) AS not_null_count,
COUNT(*) AS total_count
FROM
student_scores;
```
这个SQL语句会从 `student_scores` 表中进行查询,使用 `CASE WHEN` 语句来判断每个学生成绩的情况,如果成绩为 `NULL` 或者为 `0`,则计入 `null_or_zero_count`,否则计入 `not_null_count`。最后使用 `COUNT(*)` 统计总人数,并将三个数值一起返回。
阅读全文