我有一个SQLite数据库表GOALS_SCORED
,其中包含gender
,goalRank
和numGoalsScored
列。
已设置numGoalsScored
,但我想将goalRank
PER GENDER 设置为1,2,3等。
所以我想要2个goalRank
1的值(对于M和F)。就目前而言,假设没有2个男孩拥有相同的目标#,女孩则相同。使用正确的值更新该列的SQL是什么?
答案 0 :(得分:2)
UPDATE goals_scored SET goalRank = (
SELECT count(*) FROM goals_scored AS i WHERE
i.numGoalsScored > goals_scored.numGoalsScored AND
i.gender = goals_scored.gender
) + 1;
是一种方式。 O(n ^ 2)虽然。