我想制定一个平均评分"我在桌子上喝鸡尾酒。有一个tblRating链接到tblCocktail,在这个表中是"值"和"计数器"。 "值"包含用户可以给每种鸡尾酒的1-5等级," counter"包含值" 1"。我想计算每种鸡尾酒的平均评分,将所有"值" s除以" counter" s
的数量我之前从未做过基于php字段的数学计算,所以感谢任何帮助
-matt
答案 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
值在计算平均值时不予考虑