mysql - 在相对于 ID 的 2 个表之间选择同一行
问题描述
我是 SQL 语法的初学者。我有 2 个表STUDENT
,并且EXAMINATION
我在 1 行中尝试编写一个查询来 printID
和. 我没有被告知哪一列属于哪个表,但我的猜测是属于和属于。 是同一个学生参加该科目考试的次数。SUBJECT
NUMBER_OF_TIMES
ID
STUDENT
SUBJECT
EXAMINATION
NUMBER_OF_TIMES
我试过SELECT STUDENT.ID, EXAMINATION.SUBJECT, NUMBER_OF_TIMES
但没有运气。
解决方案
您的工作查询将如下所示:
SELECT
s.ID,
e.SUBJECT,
COUNT(e.STUDENT_ID) AS cnt
FROM STUDENT s
LEFT JOIN EXAMINATION e
ON s.ID = e.STUDENT_ID
GROUP BY
s.ID,
e.SUBJECT
这个答案假设,真的没有必要,在考试表中存在一个连接列STUDENT_ID
,它与学生表连接。我们使用左连接来报告所有学生,即使是那些计数为零的学生。
推荐阅读
- javascript - 如何根据属性值过滤 MapBox 热图中的点?
- java - 为什么所有分区都没有分配给正在运行的单个 KafkaConsumer?
- spring - 如何修复这些警告消息——com.couchbase.client.deps.io.netty.util.IllegalReferenceCountException: refCnt: 0, increment: 1
- html - HtmlCleaner 不处理字符引用
- python-3.x - 使用 python 3.7 PyQt5 和 cx_Freeze 创建可执行文件,但 DLL 无法加载
- javascript - Django 调度框架不像它应该的那样工作
- docker - 是否需要将卷挂载到 docker 上的数据库?
- c# - 从多个列表或数组中搜索/过滤(可能数十亿)项目组合的最佳方式
- google-sheets - 每当使用云函数添加新记录时,我可以将数据从 Firestore 填充到 Google 表格吗?
- php - 如何在 Codeception 验收测试中检查 Wordpress 插件是否已激活