我有一個Access
數據庫,其中包含一個Grads
表:如何選擇具有最大價值
Grads
- studentId
- courseId
- tryNumber
- semesterId
- finalGrad
如何獲得所有的信息(studentName, courseName, courseId, finalGrade
)從最大tryNumber
(最後一次嘗試)行?
我有一個Access
數據庫,其中包含一個Grads
表:如何選擇具有最大價值
Grads
- studentId
- courseId
- tryNumber
- semesterId
- finalGrad
如何獲得所有的信息(studentName, courseName, courseId, finalGrade
)從最大tryNumber
(最後一次嘗試)行?
如果你只想要一個行與max
trynumber,然後你應該可以使用:
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
不,我需要所有finalgrade – 2013-03-14 11:05:55
@MaathProgrammer你可以發佈一些樣本數據,然後期望的結果? – Taryn 2013-03-14 11:06:27
謝謝我會修改你的查詢與我一起工作 你的查詢是真的再次感謝 – 2013-03-14 11:09:42
這應該爲你工作:
SELECT studentName,
courseName, couseId,
finalGrade, MAX(tryNumber)
FROM grads
GROUP BY studentName, courseName, couseId, finalGrade
不能GROUP BY finalGrade,我需要finalGrade馬克斯tryNumber – 2013-03-14 11:01:04
在您需要最大最終成績? – 2013-03-14 11:01:58
select top 1 * from Grads order by tryNumber desc
您可以使用:
Select studentName, courseName, courseId, finalGrade From Grads
Where tryNumber=(Select MAX(tryNumber) From Grads)
這將返回一行,最大嘗試數 – 2013-03-14 11:03:33
請詳細說明您的要求。你需要每個學生這個嗎? – 2013-03-14 11:05:49
樣本數據,請 – Dhinakar 2013-03-14 10:51:18