我已经做了很长很艰难的工作,但我知道它可以做得更快更容易;)
如果我有一个名为"puzzle_level"的列,我希望每个puzzle_level=5的记录有10分,每个puzzle _level=6的记录有25分,如果puzzle-level=7的记录有50分;
快速编辑,我实际上需要一个PHP中的可变总计,所以它将是$total_points=$sql_formula
您可以简单地使用条件CASE
表达式:
SELECT
points +
CASE puzzle_level
WHEN 5 THEN 10
WHEN 6 THEN 25
WHEN 7 THEN 50
END AS totalpoints
FROM your_table
这将基于puzzle_level的点数添加到points
列中的总点数。
然后,简单地引用PHP中的'totalpoints'
列。
UPDATE `table`
SET `points` =
IF `puzzle_level` = 5 THEN 10
ELSEIF `puzzle_level` = 6 THEN 25
ELSEIF `puzzle_level` = 7 THEN 50
END IF