这就是我想要做的。假设我有这张桌子:
key_id | id | record_date | other_cols
1 | 18 | 2011-04-03 | x
2 | 18 | 2012-05-19 | y
3 | 18 | 2012-08-09 | z
4 | 19 | 2009-06-01 | a
5 | 19 | 2011-04-03 | b
6 | 19 | 2011-10-25 | c
7 | 19 | 2012-08-09 | d
对于每个 id,我想选择包含最小记录日期的行。所以我会得到:
key_id | id | record_date | other_cols
1 | 18 | 2011-04-03 | x
4 | 19 | 2009-06-01 | a
我看到的解决这个问题的唯一方法是假设所有 record_date 条目都是不同的,但在我的数据中并非如此。使用带有两个条件的子查询和内部联接会给我一些 id 的重复行,这是我不想要的:
key_id | id | record_date | other_cols
1 | 18 | 2011-04-03 | x
5 | 19 | 2011-04-03 | b
4 | 19 | 2009-06-01 | a