1

我想计算出我在桌子上的鸡尾酒的平均“评分”。有一个 tblRating 链接到 tblCocktail,在这个表中是“值”和“计数器”。“value”包含用户可以给每个鸡尾酒的 1-5 评分,“counter”包含值“1”。我想通过将所有“价值”相加并除以“计数器”的数量来计算每种鸡尾酒的平均评分

我以前从未根据 php 字段进行过数学计算,因此不胜感激

-马特

4

2 回答 2

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)。

于 2012-05-03T09:34:41.200 回答
1

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

SELECT AVG(value)
FROM tblRating
WHERE cocktail_id = 1234

笔记:

  • 您可以计算评分表中的行数以确定评分数
  • NULL计算平均值时不考虑值
  • 您必须坚持您选择的比例,并且不允许超出 1-5 范围的值
于 2012-05-03T09:49:47.380 回答