嗨我有一個表中有每個產品的數量和評級,由於某些原因,我有不同的行每個產品以及評價它的每個人的比率,如下所示:不知道如何寫一個簡單的查詢
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查看我的編輯 –