【发布时间】:2019-11-20 03:21:33
【问题描述】:
我是 sql 查询的新手,所以我不知道如何创建准确的 SQL。
我尽力了,但我在网上找不到任何类似的例子,请在这里帮助我。
数据架构如下:
User(userID, username password, email, , userType)
Course(courseID, courseTitle)
Enroll(userID, courseID)
用户可以访问的课程室;请注意,用户包括教师和管理员等各种用户
Material(materialID, materialText, teacherUserID, courseID)
问题:
找到可以访问最多课程房间的两位老师。如果出现平局,请选择用户 ID 较小的。列出她/他可以为两位教师访问的用户 ID、电子邮件和课程房间的数量。**
问题是:
选择用户 ID、电子邮件、MIN(用户 ID) 我怎样才能专门找到 2 个较小的用户 ID 以及我应该选择哪个表来查找课程房间?在这种情况下我必须使用 COUNT 吗?
FROM 用户加入注册 (user.usertype=enroll.userid) 由于enroll_table无法识别userID是teacher还是administrator,如果我使用JOIN,能找到我想要的结果吗?
在哪里...... 我不知道如何专门找到两位老师并确保他们有抢七局
我也必须使用 GROUP BY 和 ORDER BY 吗?
【问题讨论】:
-
从您的表中添加一些具有预期输出的示例数据。
-
enroll表与users和courses具有多对一的关系(我认为它们是房间的同义词)。所以它包含你的答案。找到users中每个人的关系count(*),其中有userType老师。对于后者,您需要将表enroll与表user连接起来。尝试根据您的课程资料、mysql 在线帮助或互联网搜索编写此联接,我们可以为您提供更多帮助。