计算基于两个mysql字段的计算

时间:2012-05-03 09:28:38

标签: php mysql database math

我想制定一个平均评分"我在桌子上喝鸡尾酒。有一个tblRating链接到tblCocktail,在这个表中是"值"和"计数器"。 "值"包含用户可以给每种鸡尾酒的1-5等级," counter"包含值" 1"。我想计算每种鸡尾酒的平均评分,将所有"值" s除以" counter" s

的数量

我之前从未做过基于php字段的数学计算,所以感谢任何帮助

-matt

2 个答案:

答案 0 :(得分:1)

这是一个应该做你想做的事情,如果没有完整的表模式,它不可能更准确,但这个例子应该表明这个想法:

SELECT c.name, AVG(r.value)
FROM tblCocktail c
JOIN tblRating r ON c.id = r.cocktail.id
GROUP BY c.id, c.name

基本上你从tblCocktail中选择所有鸡尾酒并计算评级的平均值(r.value)。

答案 1 :(得分:1)

您可能不需要计数器字段,AVG函数可以计算平均值而无需计数器:

SELECT AVG(value)
FROM tblRating
WHERE cocktail_id = 1234

注意:

  • 您可以计算评级表中的行数以确定评级数
  • NULL值在计算平均值时不予考虑
  • 您必须坚持使用您选择的比例并且不允许超出1-5范围的值