要查询一个表中的多个最新数据,可以使用以下两种方法之一:

方法一:使用子查询

SELECT * 
FROM your_table
WHERE (date_column, id_column) IN (
    SELECT MAX(date_column), id_column
    FROM your_table
    GROUP BY id_column
)

这将返回每个id_column的最新日期的相关记录。

方法二:使用窗口函数

SELECT * 
FROM (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY id_column ORDER BY date_column DESC) AS rn
    FROM your_table
) AS sub
WHERE rn = 1

这将对每个id_column进行分组并按日期倒序排序,然后将每个分组的第一行(即最新日期的记录)返回。

在sql server 中 要查询一个表中的多个最新数据

原文地址: http://www.cveoy.top/t/topic/i1Q8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录