在一列中选择具有相同值的所有组中的最新组

时间:2012-01-15 22:29:21

标签: sql sqlite

问题不是很清楚,但我会说明我的意思,假设我的表是这样的:

item_name | date added | val1 | val2
------------------------------------
    1     |   date+1   |  10  | 20
    1     |   date     |  12  | 21
    2     |   date+1   |  5   | 6
    3     |   date+3   |  3   | 1
    3     |   date+2   |  5   | 2
    3     |   date     |  3   | 1    

我想选择第1,3,4行,因为它们是每个项目的最新条目

1 个答案:

答案 0 :(得分:1)

试试这个:

select *
from tableX t1
where t1.date_added = (select max(t2.date_added) 
                       from tableX t2 
                       where t2.item_name = t1.item_name )