TSQL查询根据另一列值返回最近的记录

时间:2016-05-26 22:18:22

标签: sql sql-server tsql

我有一张表格,其中包含各公司的到期日期列表。该表如下所示:

--private-ip-address

我正在尝试构建一个TSQL查询,它将返回每个公司的最新记录(即CompanyID)。如:

ID  CompanyID  Expiration
--- ---------- ----------
1   1          2016-01-01
2   1          2015-01-01
3   2          2016-04-02
4   2          2015-04-02
5   3          2014-01-03
6   4          2015-04-09
7   5          2015-07-20
8   5          2016-05-01

1 个答案:

答案 0 :(得分:7)

看起来ID和Expiration之间存在确切的相关性。如果确实如此,即过期越晚ID越高,那么您只需将Max(ID)Max(Expiration)拉为1:1并按CompanyID分组:

Select max(ID), CompanyID, max(Expiration) from Table group by Company ID