【发布时间】:2020-08-19 00:19:43
【问题描述】:
我正在尝试构建一个 SQL 查询以仅恢复表中最年轻的记录(它已经有一个 Timestamp 列),其中我要过滤的项目出现多次,如我的表示例所示:
。
基本上,我有一个带有 Id、Millis、fkName 和 Price 的 table1,以及带有 Id 和名称的 table2。
在table1 中,同一个 fkName 可以多次出现。
我需要实现的是建立一个查询,我可以在其中列出每个 fkName 的最后一条记录,以便我可以获得每个项目的最实际价格。
到目前为止,我尝试使用
进行查询SELECT DISTINCT [table1].[Millis], [table2].[Name], [table1].[Price]
FROM [table1]
JOIN [table2] ON [table2].[Id] = [table1].[fkName]
ORDER BY [table2].[Name]
但我没有得到正确的列表。
对此有何建议?提前致谢,
【问题讨论】:
-
轻松为您提供帮助:minimal reproducible example.
标签: sql sql-server tsql join greatest-n-per-group