【发布时间】:2010-12-24 05:33:18
【问题描述】:
这是我所说的一个简化示例:
Table: students exam_results
_____________ ____________________________________
| id | name | | id | student_id | score | date |
|----+------| |----+------------+-------+--------|
| 1 | Jim | | 1 | 1 | 73 | 8/1/09 |
| 2 | Joe | | 2 | 1 | 67 | 9/2/09 |
| 3 | Jay | | 3 | 1 | 93 | 1/3/09 |
|____|______| | 4 | 2 | 27 | 4/9/09 |
| 5 | 2 | 17 | 8/9/09 |
| 6 | 3 | 100 | 1/6/09 |
|____|____________|_______|________|
为了这个问题,假设每个学生至少记录了一个考试结果。
您将如何选择每个学生以及他们的最高分? 编辑:...以及该记录中的其他字段?
预期输出:
_________________________
| name | score | date |
|------+-------|--------|
| Jim | 93 | 1/3/09 |
| Joe | 27 | 4/9/09 |
| Jay | 100 | 1/6/09 |
|______|_______|________|
欢迎使用所有类型的 DBMS 回答。
【问题讨论】:
-
你将如何解决关系?在您的示例中,Jim 两次得分 93 应该选择哪条记录?
-
在我自己的表格中,(与学生和考试无关)这不会发生。哪一个都可以?
标签: sql mysql sql-server oracle join