我有一个产品 ID 的 MySQL 表,其中的列显示了这些产品中的每一个从我的客户那里获得 1、2、3、4 或 5 星评级的次数。我想在当前空白的平均评分列中插入一个数字,以表明每个产品的平均评分是多少。
如何计算每个产品 ID 的平均评分,然后修改表格以将此平均评分插入平均评分列?然后,理想情况下,我希望每天使用 php 脚本和 cron 作业运行此 SQL 语句,以重新计算平均评级并在每个产品记录更多评级时更新此表。
表格的布局示例如下:
Product ID | 1 | 2 | 3 | 4 | 5 | Average Rating
1294518 | 0 | 3 | 3 | 2 | 4 | ?
9226582 | 0 | 0 | 1 | 0 | 0 | ?
3946583 | 0 | 3 | 6 | 1 | 0 | ?
7392588 | 1 | 0 | 0 | 0 | 0 | ?
1196585 | 0 | 1 | 0 | 5 | 6 | ?
4285385 | 0 | 2 | 3 | 3 | 1 | ?
最佳答案
你试过吗:
UPDATE table
SET aveRate = (rate1 + rate2*2 + rate3*3 + rate4*4 + rate5*5) /
(rate1 + rate2 + rate3 + rate4 + rate5)
我错过了什么吗?
关于php - 我如何计算出平均评分并在我的 MySQL 表中添加一个新列来记录这个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16712531/