【发布时间】:2020-12-26 21:57:47
【问题描述】:
我有一个类似这样的 MySQL 表:
userId | cubeSize | solveTime
-----------------------------
1 | 5 | 24.34
2 | 5 | 35.6
1 | 8 | 130.04
2 | 8 | 125.30
3 | 15 | 405.23
表的复合主键是(userId, cubeSize)。
有时,我想“合并”两个用户。假设我们将用户 2 合并到用户 1。我想要做的是为每个立方体大小取用户 1 和 2 的最低求解时间,并删除用户 2 的行。结果是:
userId | cubeSize | solveTime
-----------------------------
1 | 5 | 24.34
1 | 8 | 125.30
3 | 15 | 405.23
有人对我如何实现这一目标有任何想法吗?我想它可能可以使用GROUP BY 在一两个查询中完成,但我对 SQL 没有足够的信心来确定。
【问题讨论】:
标签: mysql sql group-by greatest-n-per-group sql-delete