Sql 获取记录组中的最新记录

Sql 获取记录组中的最新记录,sql,sql-server,Sql,Sql Server,我有下一张桌子: 我只想为每组id选择最新的日期记录 表示结果将显示:第1行和第3行 我该怎么做呢?您的标题是最新的,但您指定了第1行和第3行。 根据需要将最大值切换为最小值 ;WITH cte AS (SELECT id,MAX([date]) AS [Date] FROM MyTable GROUP BY ID) SELECT A.* FROM MyTable A INNER JOI

我有下一张桌子:

我只想为每组id选择最新的日期记录

表示结果将显示:第1行和第3行


我该怎么做呢?

您的标题是最新的,但您指定了第1行和第3行。 根据需要将最大值切换为最小值

   ;WITH cte
        AS
        (SELECT id,MAX([date]) AS [Date] FROM MyTable GROUP BY ID)
    SELECT
        A.*
    FROM
        MyTable A
            INNER JOIN cte B
                ON A.ID  = B.ID
                AND A.[Date] = B.[Date]
                ;

选择*从选择行\编号超额分配依据..订单依据。。描述,*自。。A其中rn=1或,带子查询:从myTable t中选择*其中日期=从myTable中选择maxDate其中id=t.idor带领带从您的表格中选择带领带的前1名按行排序\u编号在分区上按id排序按[Date]描述