首页 > 解决方案 > 从 sql server 中的各个行获取最大 ID 行

问题描述

我有如下数据,其中多行具有相同的数据,可以通过 ID 识别。

在此处输入图像描述

我需要如下数据。仅获取每组重复记录的单个最大 ID 值,可以通过获取单个最大 ID 来完成

在此处输入图像描述

你能帮我解决这个问题吗?

标签: sqlsql-serverwhere-clausegreatest-n-per-group

解决方案


您可以使用子查询进行过滤。假设您的表的列被称为和id,那将是:datecol

select t.*
from mytable t
where t.col = (select max(t1.col) from mytable t1 where t1.id = t.id)

对于性能,请考虑在(id, col).


推荐阅读