gpt4 book ai didi

php - 重新计算 MySQL 表中的值

转载 作者:太空宇宙 更新时间:2023-11-03 11:03:29 25 4
gpt4 key购买 nike

我有一个 Web 应用程序,它在表中存储 points,在 user 表中存储总分,如下所示:

User Table
user_id | total_points

Points Table
id | date | user_id | points

每当用户获得一个积分时,就会发生以下步骤:

1. Enter points value to points table
2. Calculate SUM of the points for that user
3. Update the user table with the new SUM of points (total_points)

用户表中的值可能与积分表中的总和不同步,我希望能够偶尔(例如每月一次)为每个用户重新计算所有积分的总和。我可以编写一个 PHP 脚本来遍历用户表中的每个用户并找到该用户的总和并更新 total_points,但这将是大量的 SQL 查询。

是否有更好(有效)的方法来完成我想做的事情?谢谢...

最佳答案

执行此操作的更有效方法如下:

User Table
user_id

Points Table
id | date | user_id | points

Total Points View
user_id | total_points

View 实际上是一个伪装成表的选择语句。选择语句将是:SELECT "user_id", SUM("points") AS "total_points" FROM "Points Table" GROUP BY "user_id" .要创建 View ,请执行 CREATE VIEW "Total Points View" AS <SELECT STATEMENT>其中 SELECT STATEMENT是前面的 select 语句。

创建 View 后,您可以像对待任何常规表一样对待它。

P.S.:除非您的表名实际上包含空格,否则我不知道引号是必要的,但我已经有一段时间没有使用 MySQL 了,所以我不记得它有什么特殊之处。

关于php - 重新计算 MySQL 表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13853571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com