仅选择具有最新日期的行

Geo*_*son 0 sql t-sql sql-server

我正在尝试编写查询以获取具有最新日期的联系人姓名.我有一个表,每个联系人有多个结果,但有不同的日期,我正在尝试获得该联系人的最新结果.

Mah*_*mal 5

使用排序功能 ROW_NUMBER()PARTITION BYORDER BY Date DESC:

WITH CTE
AS
(
   SELECT *,
     ROW_NUMBER() OVER(PARTITION BY contactId
                       ORDER BY date DESC) AS RN
   FROM tablename
)
SELECT *
FROM CTE
WHERE RN = 1;
Run Code Online (Sandbox Code Playgroud)

这将只为您提供每个联系人的最新日期行.