小编use*_*924的帖子

SQL:在选择不同的行时按一个字段中的最小值进行分组

这就是我想要做的.假设我有这张桌子:

id | record_date | other_cols
18 | 2011-04-03  | x
18 | 2012-05-19  | y
18 | 2012-08-09  | z
19 | 2009-06-01  | a
19 | 2011-04-03  | b
19 | 2011-10-25  | c
19 | 2012-08-09  | d
Run Code Online (Sandbox Code Playgroud)

对于每个id,我想选择包含最小record_date的行.所以我得到:

id | record_date | other_cols
18 | 2011-04-03  | x
19 | 2009-06-01  | a
Run Code Online (Sandbox Code Playgroud)

我在这个问题上看到的唯一解决方案是假设所有record_date条目都是不同的,但在我的数据中并非如此.使用带有两个条件的子查询和内部联接会给我一些id的重复行,这是我不想要的:

id | record_date | other_cols
18 | 2011-04-03  | x
19 | 2011-04-03  | b
19 | 2009-06-01  | a
Run Code Online (Sandbox Code Playgroud)

sql group-by max distinct min

59
推荐指数
3
解决办法
14万
查看次数

标签 统计

distinct ×1

group-by ×1

max ×1

min ×1

sql ×1