mysql - 根据ID选择2个表之间的同一行

标签 mysql sql

我是 SQL 语法的初学者。我有 2 个名为 STUDENTEXAMINATION 的表,我在一行中尝试编写查询以打印 IDSUBJECT NUMBER_OF_TIMES。我没有被告知哪个列属于哪个表,但我的猜测是 ID 属于 STUDENTSUBJECT 属于 EXAMINATIONNUMBER_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,它与学生表连接。我们使用左连接来报告所有学生,即使是那些计数为零的学生。

关于mysql - 根据ID选择2个表之间的同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56412286/

相关文章:

MySQL 对 group by 子句中的多列进行计数

mysql order by select——可能吗?

php - Yii:按 id ASC 选择最后 20 个条目

sql - 通过分组和检查非空将多行合并为一行

mysql - 从另一列中检索每个唯一值的最大值

mysql - 关于 MySQL 和 PostgreSQL 中的子查询

mysql 字符串到日期的转换

sql - 如何使用 TSQL 将文件上传到 SQL Server 2008 中的 varbinary(max) 列?

mysql - SQL - 拥有和分组问题

mysql - 使用 JOIN 在 MySQL 中创建第三列的类似查询