sql get 查询是否有通过多个证书的学生记录?

sql get query to get any student records who have passed multiple certificates?

我有 3 mysql 张桌子。

  1. 证书(证书id,证书名称)
  2. 学生(学号、姓名)
  3. 学生证件(id, student id, certificate id, reg_date)

我如何构建一个 sql 查询来获取任何已通过 20 个证书的学生记录(基于 20 个不同的证书 ID)?

谢谢

SELECT *
FROM student_certificates
GROUP BY student_id
HAVING COUNT([DISTINCT] certificate_id) >= 20

加入 students table 如果需要其中的某些列(不要忘记相应地扩展 GROUP BY 表达式)。