我有一张包含以下数据的表格。 ID,日期和类型都是主键。 ID是人,类型是工作类型。
id date Type
--------------------------
6 | 2011 | 2
6 | 2012 | 2
6 | 2012 | 3
6 | 2012 | 5
7 | 2013 | 1
7 | 2016 | 1
etc..
我想创建一个查询,该查询将显示具有差异类型的id 6,并且如果相同ID具有相同类型的拖曳行,则采用最后日期。 结果应该与此相同。
id date Type
--------------------------
6 | 2012 | 2
6 | 2012 | 3
6 | 2012 | 5
7 | 2016 | 1
etc..
答案 0 :(得分:0)
您可以使用相关子查询执行此操作:
select t.*
from t
where t.date = (select max(t2.date) from t t2 where t2.id = t.id and t2.type = t.type);
答案 1 :(得分:0)
另一种方法:
select a.id, b.date, a.type
from
(
select distinct id, type
From Test1
) a
INNER JOIN
(
select distinct id, max(date) date
From Test1
group by id
) b
on a.id = b.id