计算学生人数并在另一张表中显示

时间:2018-04-28 12:34:51

标签: mysql sql

我有学生和课程表:

Student(Roll_no(primary), Name, Course_id(foreign))
Course(Course_no(primary), Course_name)

我将如何检索:

一个。该表包含超过2名学生入学的课程详情。

湾课程表以及计数列。

我为第一个问题尝试了什么:

 SELECT * FROM Course WHERE(SELECT COUNT(*) FROM Student GROUP BY Course_no WHERE COUNT(*) > 2);

我不确定我做了什么,但那不起作用。我是数据库系统的新手

样品: 学生表

    +---------+----------+----------+-----------+
    | Roll_no | Name     | Semester | Course_no |
    +---------+----------+----------+-----------+
    |       1 | a        |        3 |       101 |
    |       2 | b        |        5 |       101 |
    |       3 | c        |        3 |       101 |
    |       4 | c        |        3 |       101 |
    |       5 | d        |        3 |       101 |
    |       7 | b        |        4 |       102 |
    +---------+----------+----------+-----------+

课程表

+-----------+-------------+
| Course_no | Course_name |
+-----------+-------------+
|       101 | BCA         |
|       102 | BSC         |
+-----------+-------------+

对于第一部分,我希望有一个表格如下:

+-----------+-------------+
| Course_no | Course_name |
+-----------+-------------+
|       101 | BCA         |
+-----------+-------------+

对于第二部分,我希望有一个像

这样的表
+-----------+----------------------+
| Course_no | Course_name |Total   |
+-----------+-------------+--------+
|       101 | BCA         |5       |
|       102 | BSC         |1       |
+-----------+-------------+--------+

1 个答案:

答案 0 :(得分:2)

第一部分:

您需要使用module.exports = function (path, options){ if (!path) { return (ctx, next) => { if ('/favicon.ico' != ctx.path) { return next(); } }; } ... JOIN

HAVING

sqlfiddle:http://sqlfiddle.com/#!9/387386/3

第二部分:

您需要SELECT c.Course_no,c.Course_name FROM Course c INNER JOIN Student s on c.Course_no = s.Course_id GROUP BY c.Course_no,c.Course_name HAVING count(1) > 2 JOIN GROUP BY

COUNT

sqlfiddle:http://sqlfiddle.com/#!9/bad7e3/1