请任何人告诉我如何针对每个外键 id 返回具有最大主键 id 的所有行。
例如,如果我有申请人和备注表。申请人表以申请人 ID 作为主键,备注表以 NotesId 作为主键。申请人Id 是Notes 表中的外键,具有一对多关系。
在这里,我想从 Notes 表中获取针对每个唯一申请人 ID 的最大 NotesId 结果。任何人的帮助将不胜感激。
试试这个:
SELECT ApplicantId, MAX(NotesId)
FROM Notes
GROUP BY ApplicantId;
要获取其余记录,您可以执行以下操作:
SELECT n.*
FROM notes n
INNER JOIN (
SELECT max(notesId) AS maxid
FROM notes
GROUP BY applicantId
) n2 ON n.NotesId = n2.maxid
SELECT applicantId, max(notesId)
from Notes
group by applicantId
您可以使用 group by 或 over 子句,如下所示
select
applicantid,
max(notesid) over (partition by applicantid)
from table
或这个
select
applicantid,
max(notesid)
from table
group by applicantid