——一个“相当”的学生,就是至少参加了一门考试,既没得高分也没得低分的人。
- 编写SQL查询以报告学生(student_id,student_name)在所有考试中“安静”。
- 不要退回从未参加过任何考试的学生。返回按student_id排序的结果表。
-- 查询结果格式如以下示例所示。
学生桌:
-- +-------------+---------------+ -- | student_id | student_name | -- +-------------+---------------+ -- | 1 | Daniel | -- | 2 | Jade | -- | 3 | Stella | -- | 4 | Jonathan | -- | 5 | Will | -- +-------------+---------------+
考试表:
-- +------------+--------------+-----------+ -- | exam_id | student_id | score | -- +------------+--------------+-----------+ -- | 10 | 1 | 70 | -- | 10 | 2 | 80 | -- | 10 | 3 | 90 | -- | 20 | 1 | 80 | -- | 30 | 1 | 70 | -- | 30 | 3 | 80 | -- | 30 | 4 | 90 | -- | 40 | 1 | 60 | -- | 40 | 2 | 70 | -- | 40 | 4 | 80 | -- +------------+--------------+-----------+
结果表:
-- +-------------+---------------+ -- | student_id | student_name | -- +-------------+---------------+ -- | 2 | Jade | -- +-------------+---------------+
我的解决方案是否正确?
--My Solution Select Student_id, Student_name From ( Select B.Student_id, A.Student_name, Score, Max(Score) Over (Partition by Exam_id) score_max, Max(Score) Over (Partition by Exam_id) score_min From Student A, Exam B Where A.Student_ID = B.Student_ID ) T Where Score != Max_score or Score != Min_Score Group by student_id, student_name Having Count(*) = (Select distinct count(exam_id) from exam) Order by A.student_id
您的结果是正确的,但您需要对查询进行两次更改。
// ...
min(score) over (partition by exam_id) score_min,
max(score) over (partition by exam_id) score_max
// ...
having count(1) =
(select count(distinct exam_id) from exam t2
where t1.student_id = t2.student_id)
我有一个sql查询: 这就产生了: Hibernate:选择this_.pName为y0_,this_.kNum为y1_,count(distinct this_.agentg)为y2_from Test_CPView this_where(低(this_.pName+“~”+this_.kNum)like?或低(this_.pName+“~”+this_.kNum)like?或低(this_.p
问题内容: 我有一个简单的MySQL表,其中包含类别列表,级别由parent_id确定: 我正在尝试进行面包屑跟踪。因此,我有孩子的“身份证”,我想让所有可用的父母(重复链,直到我们达到0“家”)。可能有任意数量或子行达到无限深度。 目前,我正在为每个父母使用SQL调用,这很麻烦。SQL中有一种方法可以对一个查询执行全部操作吗? 问题答案: 从这里改编: 该行是当前页面的页码。结果如下:
执行技术方面的评价只是整体评价进程的一半;最终产品是一份内容详实的报告。报告应该简单易懂、突出所有评估期间找到的风险,并将之呈现给管理员工和技术员工。 报告需要有三个主要部分,并且在一定程度上允许每个部分被单独分离出来,打印并交与相关的团队,比如开发人员或者系统管理员。 通常推荐有如下几个部分:. 1. 内容提要 内容提要集合了所有评价,并给予管理层或系统管理员一个对全局风险的认识。使用的语言应该
问题内容: 在C#中生成SQL查询的最安全的方法是什么,包括清除用户输入以防止注入?我正在寻找使用不需要外部库的简单解决方案。 问题答案: 使用Sql参数: http://msdn.microsoft.com/zh- cn/library/system.data.sqlclient.sqlparameter(v=vs.80).aspx 这是C#中的示例
我们有三个表格用户,答案和拉伸。当某人登录到我们的系统时,我们将user_id、created_at和updated_at存储在拉伸表中,当他/她注销时,更新删除在同一行中。 会议时间30分钟。 id id user_id 身体 created_at updated_at id 现在,我只想从Stretcions表中得到那些已经给出答案的行。我写了这个查询,但它需要很多时间,但没有返回准确的数据。
我有3个表作为学生数据,包括学生的数据,科目表的数据提供的所有科目和分数,学生获得的每一个科目的分数。通过StudentId标记到StudentData表的表映射,通过SubjectId标记到Subjects表的表映射 我想做的是选择每个科目的最高分数和学生的名字,如下所示 所以我写了一个甲骨文PL / SQL查询如下, 但它只给出了一个结果。请帮助我开发一个查询来获取我的预期结果集。