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
我有一个 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