如何从重复记录中获取最新的更新数据?

时间:2018-06-01 20:43:35

标签: sql sql-server greatest-n-per-group

我有3张桌子。 Table1具有memberhsip id并且连接到具有注册ID的Tbl2。 Tbl3拥有我感兴趣的数据。 在完美的世界中,会员不应该在同一日期有2个注册ID;但它确实有它。 我对最新更新的注册ID感兴趣。 其中一个标准是有效期和有效期。例如,如果我正在寻找有效期限和期限日期为1/1/2018至2/1/2018,则SQL将为成员1带来2个匹配记录。如何从Tbl3获取“最后更新”的最大值。

TBL1

Member iD
---------
|   1   |
---------
|   1   |
---------

TBL2

|Member ID |  Enrollment ID |
|--------- | ---------------|
|    1     |        E1      |
|----------| ---------------|
|    1     |        E2      |
|---------------------------|

---------------------------------------------|-------------------------|
| Enrollment ID | Effective Date | Term Date |       Last Update       |
|---------------|----------------|-----------|-------------------------|
|      E1       | 1/1/2018       |  2/1/2018 | 2018-01-19 11:20:03.483 |
|---------------|----------------|-----------|-------------------------|
|      E2       | 1/1/2018       |  2/1/2018 | 2018-01-19 13:28:20.923 |
|---------------|----------------|-----------|-------------------------|

1 个答案:

答案 0 :(得分:0)

我不确定您的预期输出应该是什么,并且我没有在没有提供数据的情况下对此进行测试 - 但您可以根据需要在选择中编辑以下内容,它应该为您提供最大的上次更新日期:

class ItemIndex(indexes.SearchIndex, indexes.Indexable):
    text = indexes.CharField(document=True, use_template=True)
    content_auto = indexes.EdgeNgramField(model_attr='name')   
    content_auto = indexes.EdgeNgramField(model_attr='city')