SELECT paid,schoolsup,famsup,nursery from student_mat GROUP BY paid,schoolsup,famsup,nursery根据这个分组 对同时参加四个/三个/两个进行计数
时间: 2023-09-10 20:09:04 浏览: 37
可以使用以下SQL语句来实现对同时参加四个/三个/两个的进行计数:
同时参加四个:
```
SELECT COUNT(*) as count FROM (
SELECT paid,schoolsup,famsup,nursery
FROM student_mat
GROUP BY paid,schoolsup,famsup,nursery
HAVING COUNT(*) = 4
) as t;
```
同时参加三个:
```
SELECT COUNT(*) as count FROM (
SELECT paid,schoolsup,famsup,nursery
FROM student_mat
GROUP BY paid,schoolsup,famsup,nursery
HAVING COUNT(*) = 3
) as t;
```
同时参加两个:
```
SELECT COUNT(*) as count FROM (
SELECT paid,schoolsup,famsup,nursery
FROM student_mat
GROUP BY paid,schoolsup,famsup,nursery
HAVING COUNT(*) = 2
) as t;
```
这些语句将对每个分组进行计数,答案将以 `count` 字段的形式返回。
相关问题
SELECT paid,schoolsup,famsup,nursery from student_mat GROUP BY paid,schoolsup,famsup,nursery 计算这个语句中 4个/3个/2个/1个yes的个数 用一个sql语句 不分开查询
可以使用以下 SQL 语句实现:
```
SELECT
SUM(CASE WHEN paid='yes' THEN 1 ELSE 0 END) AS paid_yes_count,
SUM(CASE WHEN schoolsup='yes' THEN 1 ELSE 0 END) AS schoolsup_yes_count,
SUM(CASE WHEN famsup='yes' THEN 1 ELSE 0 END) AS famsup_yes_count,
SUM(CASE WHEN nursery='yes' THEN 1 ELSE 0 END) AS nursery_yes_count,
SUM(CASE WHEN paid='yes' AND schoolsup='yes' AND famsup='yes' AND nursery='yes' THEN 1 ELSE 0 END) AS all_yes_count,
SUM(CASE WHEN (paid='yes' AND schoolsup='yes' AND famsup='yes') OR (paid='yes' AND schoolsup='yes' AND nursery='yes') OR (paid='yes' AND famsup='yes' AND nursery='yes') OR (schoolsup='yes' AND famsup='yes' AND nursery='yes') THEN 1 ELSE 0 END) AS three_yes_count,
SUM(CASE WHEN (paid='yes' AND schoolsup='yes') OR (paid='yes' AND famsup='yes') OR (paid='yes' AND nursery='yes') OR (schoolsup='yes' AND famsup='yes') OR (schoolsup='yes' AND nursery='yes') OR (famsup='yes' AND nursery='yes') THEN 1 ELSE 0 END) AS two_yes_count,
SUM(CASE WHEN paid='yes' OR schoolsup='yes' OR famsup='yes' OR nursery='yes' THEN 1 ELSE 0 END) AS one_yes_count
FROM student_mat;
```
其中,`student_mat` 为实际表名,以上语句中的 `yes` 可能需要根据实际情况替换为其他值。语句中的结果将会返回四个字段,分别对应 paid、schoolsup、famsup 和 nursery 字段中值为 yes 的个数。同时,还将会返回四个不同的计数,分别对应四种不同情况下的 yes 的个数,包括同时参加四个、三个、两个和一个的个数。
推荐Rust语言学习网站
以下是一些推荐的 Rust 语言学习网站:
1. Rust 官方网站:https://www.rust-lang.org/
Rust 官方网站提供了完整的 Rust 学习资源,包括官方文档、教程、示例代码等。官方网站还提供了一个在线的 Rust Playground,可以方便地在线编写和测试 Rust 代码。
2. Rust by Example:https://doc.rust-lang.org/stable/rust-by-example/
Rust by Example 是 Rust 官方提供的一个在线教程,通过实例讲解 Rust 的各种特性和概念。这个教程非常适合 Rust 初学者学习。
3. Rust Cookbook:https://rust-lang-nursery.github.io/rust-cookbook/
Rust Cookbook 是一个由 Rust 社区维护的在线教程,提供了大量的 Rust 代码示例,可以帮助 Rust 开发者快速解决常见的编程问题。
4. Rustlings:https://github.com/rust-lang/rustlings/
Rustlings 是一个 Rust 语言的练手项目,提供了一系列的练习题目,可以帮助 Rust 初学者快速掌握 Rust 语言的基本概念和语法。
5. Rust中文社区:https://rust.cc/
Rust中文社区是一个面向 Rust 语言中文开发者的社区,提供了大量的 Rust 学习资源,包括中文翻译的官方文档、教程、论坛、博客等。
以上是一些推荐的 Rust 语言学习网站,它们提供了丰富的学习资源,可以帮助 Rust 初学者快速掌握 Rust 语言的基本概念和语法。