mysql 插入记录挑战

mysql insert records challenge

我有一个 table,其中包含 21 个团队的上伤。大多数队伍有5个topscores,但也有4个。对于4个scores的队伍,需要加上一个,作为最差成绩的copy。因此,在下面的团队 1 示例中,必须将人员 8 的记录副本添加(插入)到 table。

有什么想法可以完成吗?

Table 与:

team person score
1       4       13
1       3       9
1       6       8
1       8       4
2       13      12
2       17      8
2       15      7
2       20      7
2       11      6

之后应该有一个值为 1、8、4 的重复记录

您可以使用 INSERT ... SELECT together with a query for the group-wise minimum:

INSERT INTO myTable
  (team, person, score)
SELECT team, person, score FROM myTable NATURAL JOIN (
  SELECT   team, MIN(score) score
  FROM     myTable
  GROUP BY team
  HAVING   COUNT(*) = 4
) t