在sql server 中 要查询一个表中的多个最新数据
要查询一个表中的多个最新数据,可以使用以下两种方法之一:
方法一:使用子查询
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进行分组并按日期倒序排序,然后将每个分组的第一行(即最新日期的记录)返回。
原文地址: http://www.cveoy.top/t/topic/i1Q8 著作权归作者所有。请勿转载和采集!