嗨,我有一张表,上面有每个产品的数量和评级,由于某些原因,我对每个产品有不同的行以及每个评级人的评级,如下所示:

p1 2
p2 4
p3 4
p1 4
p1 5
p1 3
p2 7

我正在使用以下查询,但它显示了所有产品的平均速率,但我希望它分别显示每个产品的平均速率。
Select ProductName, AVG(Rate) FROM Products

最佳答案

只是:

Select ProductName, AVG(Rate) AS 'Average Rate'
FROM Products
GROUP BY productName

编辑:显示速率最高的:
SELECT ProductName, Rate
FROM Products
ORDER BY rate DESC
LIMIT 1

编辑2:要获取平均速率最高的产品名称:
SELECT productname, AVG(rate) Avgrate
FROM Products
GROUP BY productname
HAVING AVG(rate) =
(
     SELECT AVG(rate)
     FROM Products
     GROUP BY productname
     ORDER BY AVG(rate) DESC
     LIMIT 1
)

关于mysql - 不确定如何编写简单的查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12551380/

10-11 01:55
查看更多