【发布时间】:2012-11-19 02:57:11
【问题描述】:
我有下表
recordID createdDate ForeignKeyID
00QA000000PtFXaMAN 2012-01-03 13:23:36.000 001A000000ngM21IAE
00QA000000OS2QiMAL 2011-12-15 12:03:02.000 001A000000ngM21IAE
.
.
.
.
我正在尝试获取 foreignKeyID 的 recordID,其中 createdDAte 是 foreignKeyID 的 min(createdDate)
如果 recordID 是 identity int 我可以通过以下查询得到它
Select min(recordId),ForeignkeyID
from table
group by ForeignKeyId
我原本以为我可以使用以下查询创建临时表,然后将其加入到 minDate 和 foreignKeyID 上的表中,但后来我发现 foreignKeyId 的多条记录具有完全相同的 createdDate。
Select min(createdDate) as minDate,ForeignKeyID
from table
group by ForeignKeyId
我愿意使用临时表或子查询或其他任何东西。谢谢。
【问题讨论】:
-
这个问题过去已经回答过很多次了:stackoverflow.com/questions/tagged/…
-
@BillKarwin 感谢您指出这一点,我很难弄清楚如何搜索问题。我尝试了一些,但没有找到我需要的东西。
标签: sql sql-server-2008 tsql group-by greatest-n-per-group