我开发了一个网站,方便律师输入案例详情以及下一个听证日期。每个案例可以有超过1个听证日期。我们假设我们在表格中有 3个案例,每个人都有多个听证会日期,但我想选择每个案例的最后 听证日期,然后我怎么做应该去吗?
我使用了TOP
然后MAX
和select statement
,但没有任何效果。
我的目标是:
pk_Cases_CaseID
CaseNo
CaseTitle
CaseRemarks
CaseNextHearingDate
IsCaseFinalized
CaseEntryDateTime
答案 0 :(得分:2)
在SQL Server中,典型的方法是使用row_number()
。您的问题并没有真正解释数据布局是什么(列名与描述完全不同)。但是,逻辑看起来像:
select h.*
from (select h.*,
row_number() over (partition by caseno order by hearingdate desc) as seqnum
from hearings h
) h
where seqnum = 1;
答案 1 :(得分:0)
根据您对使用Top和Max的评论,我假设您可能缺少某些分组逻辑。这假设CaseNo对于不同的行是相同的。
select
CaseNo, Max(CaseNextHearingDate)
from
CaseTable
GROUP BY
CaseNo