gpt4 book ai didi

sql - Group By 问题 - 需要为唯一的列组合获取最近的行

转载 作者:行者123 更新时间:2023-12-02 07:10:19 24 4
gpt4 key购买 nike

我的表结构(在 SQL Server 中)看起来像这样:(D1 比 D2 更新,PK 是一个普通的 Identity(1,1) 列)

Name  Type  Score  Date
A1 B1 C1 D1
A1 B2 C2 D1
A1 B1 C3 D2

我需要做的是为 NameType 的每个唯一组合找到最新的 Score 值,即:

A1    B1    C1     D1
A1 B2 C2 D1

我最初只是使用昨天的日期来完成此操作,但并不是所有内容都每天更新,因此有时会丢失分数。我可以通过简单的方式获得我需要查看的独特组合

SELECT Name, Type FROM Table GROUP BY Name, Type ORDER BY MAX(Date)

但我显然无法添加其他两列,否则这些组不再是唯一的。

我看过类似的问题,但它们都有差异,因此对我来说用处不大。

非常感谢任何帮助。我感觉这是一个相当的简单问题,只是我的知识还不足以解决它!

最佳答案

SELECT s.Name, s.Type, s.Score
FROM (
SELECT Name, Type, MAX(Date) AS MaxDate
FROM Scores
GROUP BY Name, Type
) m
INNER JOIN Scores s ON m.Name = s.Name AND m.Type = s.Type AND m.MaxDate = s.Date

关于sql - Group By 问题 - 需要为唯一的列组合获取最近的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6813869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com