如何通过mysql创建这样的表

时间:2018-06-27 16:12:21

标签: mysql sql subquery max workbench

我有一张这样的桌子:

ID    Payment      year
A      10           1
A      15           2
A      12           3
B      11           2
B      15           4
C      25           1
C      17           3 

我正在寻找一个查询,该查询返回其上一年的每个ID的行。对于每个ID,年份列的排序是递增的。

我需要这样的结果:

ID    Payment    year
 A      12        3
 B      15        4
 C      17        3

到目前为止,我有此查询:

select ID, Payment, Year from payment_table
where year = (select max(year) from ?????????);

我不知道该写些什么而不是????????

如果有人给我一些想法,将不胜感激。

1 个答案:

答案 0 :(得分:3)

使用subquery

select t.*
from table t
where year = (select max(t1.year) from table t1 where t1.id = t.id);