相关疑难解决方法(0)

SQL Server仅使用最新值选择不同的行

我有一个包含以下列的表

  • ID
  • ForeignKeyId
  • 为AttributeName
  • 的AttributeValue
  • 创建

部分数据可能如下所示:

1, 1, 'EmailPreference', 'Text', 1/1/2010
2, 1, 'EmailPreference', 'Html', 1/3/2010
3, 1, 'EmailPreference', 'Text', 1/10/2010
4, 2, 'EmailPreference', 'Text', 1/2/2010
5, 2, 'EmailPreference', 'Html', 1/8/2010
Run Code Online (Sandbox Code Playgroud)

我想运行一个查询,为每个不同的ForeignKeyId和AttributeName提取AttributeValue列的最新值,使用Created列确定最新值.示例输出将是:

ForeignKeyId AttributeName    AttributeValue Created
-------------------------------------------------------
1           'EmailPreference' 'Text'         1/10/2010
2           'EmailPreference' 'Html'         1/8/2010
Run Code Online (Sandbox Code Playgroud)

如何使用SQL Server 2005执行此操作?

sql t-sql sql-server sql-server-2005 greatest-n-per-group

18
推荐指数
2
解决办法
3万
查看次数