2

私はテーブルAccessを含むデータベースを持っていGradsます:

Grads
 - studentId 
 - courseId 
 - tryNumber
 - semesterId 
 - finalGrad

studentName, courseName, courseId, finalGrademax tryNumber(last try)の行からすべての情報()を取得するにはどうすればよいですか?

4

4 に答える 4

4

trynumberを含む 1 つの行のみが必要な場合はmax、次を使用できるはずです。

select g.studentid,
  g.courseid,
  g.trynumber,
  g.semesterid,
  g.finalgrade
from grads g
inner join
(
  select max(tryNumber) MaxTry
  from grads
) m
  on g.trynumber = m.maxtry

を使用して各生徒を返したい場合はmax(tryNumber)、次を使用できます。

select g.studentid,
  g.courseid,
  g.trynumber,
  g.semesterid,
  g.finalgrad
from grads g
inner join
(
  select studentid, max(tryNumber) MaxTry
  from grads
  group by studentid
) m
  on g.trynumber = m.maxtry
  and g.studentid = m.studentid
于 2013-03-14T11:02:44.080 に答える
0

これはあなたのために働くはずです:

SELECT studentName, 
       courseName, couseId, 
       finalGrade, MAX(tryNumber) 
FROM grads
GROUP BY studentName, courseName, couseId, finalGrade
于 2013-03-14T10:59:33.803 に答える
0

以下を使用できます。

Select studentName, courseName, courseId, finalGrade From Grads
Where tryNumber=(Select MAX(tryNumber) From Grads)
于 2013-03-14T11:02:10.647 に答える
-1

select top 1 * from Grads order by tryNumber desc

于 2013-03-14T10:59:53.267 に答える