我不知道如何完成或是否有可能在查询中。? 可以用 PHP 完成吗?如果有任何想法或例子。
这里我有 2 个表。
评论
id pid published
-- --- ---------
1 12 0
2 14 1
3 16 1
评分
id rid ratings sum
-- --- --------------------- -------
1 2 4,5,3,3,3.5,5,5,5,4,5 42.5000
2 4 4,5,3,3,3.5,5,5,5,4,5 42.5000
3 1 5,5,4,4,5,5,4,4,4,4 44.0000
我想做的是
- 根据 Review.id = Rating.rid 更新评分表。
- 在找到 3 或 2 或 1 的地方更新评分字段更新为 4,例如 4、5、3 , 3, 3.5, 5, 5, 5, 4, 5 应该是 4, 5, 4, 4 , 4 , 5, 5, 5, 4, 5
- 基于更新评级字段 SUM 字段应自动更新评级值的总和。例如这个 42.5000 应该是 45.0000
我已尝试解释我的问题,如果不清楚,请让我修改或提供更多详细信息。
我的表格与示例完全相同。评级字段具有文本数据类型。没有其他评分表。
任何帮助将不胜感激。
谢谢。
最佳答案
您应该重新设计您的数据库结构并将评分的值存储在另一个表中,例如,使用这样的结构
id | review_id | value
然后你就可以轻松地完成所有这些事情了。
如果无法进行此更改,您可能应该在 PHP 中进行。我的意思是,您查询所有必要的数据,通过数组中的 、
分解 ratings
,然后对数组执行操作。
但我强烈建议将评分移动到另一个表中。
关于php - 查询或 PHP 中的 MySQL 更新和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17026632/