嗨我有一个表中有每个产品的数量和评级,由于某些原因,我有不同的行每个产品以及评价它的每个人的比率,如下所示:不知道如何写一个简单的查询
p1 2
p2 4
p3 4
p1 4
p1 5
p1 3
p2 7
我使用下面的查询,但它显示的所有产品的平均率,但我期待它来显示每个产品的平均速率seperately。
Select ProductName, AVG(Rate) FROM Products
嗨我有一个表中有每个产品的数量和评级,由于某些原因,我有不同的行每个产品以及评价它的每个人的比率,如下所示:不知道如何写一个简单的查询
p1 2
p2 4
p3 4
p1 4
p1 5
p1 3
p2 7
我使用下面的查询,但它显示的所有产品的平均率,但我期待它来显示每个产品的平均速率seperately。
Select ProductName, AVG(Rate) FROM Products
只是GROUP BY productName
:
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
)
您需要添加分组依据。
Select ProductName, AVG(Rate) FROM Products GROUP BY ProductName
要排序的结果使用ORDER BY集团后通过
Select ProductName, AVG(Rate) FROM Products GROUP BY ProductName ORDER BY ProductName
上面的查询排序结果按升序排列,如果你想按降序排序,然后使用DESC
,
Select ProductName, AVG(Rate) FROM Products GROUP BY ProductName ORDER BY ProductName DESC
选择较高评级的产品
Select ProductName, AVG(Rate) FROM Products GROUP BY ProductName
HAVING AVG(Rate) = (SELECT MAX(AVG(Rate)) FROM Products GROUP BY ProductName)
此查询返回所有具有最大平均评级的产品。
只有具备较高的评价使用极限中的一个产品降序
Select ProductName, AVG(Rate) FROM Products GROUP BY ProductName
ORDER BY ProductName DESC
LIMIT 1
查看此链接以获取GROUP的信息通过http://www.w3schools.com/sql/sql_groupby.asp –
您还可以告诉我如何以最高费率显示该链接吗?也如何排序他们,如果我要显示所有费率 –
检查我更新的答案进行排序并选择较高的评级产品。 –
感谢怎么样的一个最高速度? –
@EmeEmertana查看我的编辑 –