我使用 Microsoft SQL Server 2008 尝试识别数据点的时间顺序,以创建一个过滤字段,该字段允许我创建一个查询,该查询仅包含每个 ID 号的第一条和最后一条记录,其中多行代表不同的数据来自同一 ID 的积分
这是我当前数据和所需数据的示例,以便更好地理解我的意思:
当前数据
ID Indicator Date
1 1 1988-02-11
1 1 1989-03-9
1 1 1993-04-3
1 1 2001-05-4
2 1 2000-01-01
2 1 2001-02-03
2 1 2002-04-22
3 1 1990-02-01
3 1 1998-02-01
3 1 1999-03-02
3 1 2000-04-02
4 0 NA
所需数据
ID Indicator Date Order_Indicator
1 1 1988-02-11 1
1 1 1989-03-9 2
1 1 1993-04-3 3
1 1 2001-05-4 4
2 1 2000-01-01 1
2 1 2001-02-03 2
2 1 2002-04-22 3
3 1 1990-02-01 1
3 1 1998-02-01 2
3 1 1999-03-02 3
3 1 2000-04-02 4
4 0 NULL NULL
我要创建的字段是“Desired Data”表中的“Order_Indicator”字段,唯一相关的记录是 Indicator = 1 的记录。有了这些信息,我将创建一个查询,我只选择 Order_Indicator = 1 的行对于共享相同 ID 的每个“行组”,Order_Indicator = MAX(Order_Indicator)。有谁知道我该怎么做?我知道我可以在 Excel 中很容易地做到这一点,但我需要在 SQL Server 上做到这一点,以便我的同事可以重现它。
非常感谢您!