如何获取ORDERBY和LIMIT之后一列的SUM



sql:

SELECT instock.rating
FROM instock
JOIN products
ON instock.code_id=products.code
WHERE products.brand="Adidas"
ORDER BY -instock.rating
LIMIT 5;

例如:返回:5.5.6.6.7

在Where、Order By和Limit之后,我需要SUM(I.rating(,返回5+5+6+7。

ORDER BY响应后包含大约200行。我的试用示例:1:

SELECT SUM(instock.rating) 
FROM instock
JOIN products
ON instock.code_id=products.code
WHERE products.brand="Adidas"
ORDER BY -instock.rating
LIMIT 5; 

返回,值:3000,所以,SUM所有查询。2:

SELECT SUM(DISTINCT instock.rating)
FROM instock
JOIN products
ON instock.code_id=products.code
WHERE products.brand="Adidas"
ORDER BY -instock.rating
LIMIT 5;

返回:5+6+7==19,所以,SUM单个i.

如何从第一个sql示例中获得值:5+5+6+7=29?

SELECT SUM(rate)
FROM (SELECT i.rating as rate
FROM instock_nagornaya AS i 
JOIN products AS p
ON code_id=code
WHERE p.brand="Adidas"
ORDER BY -i.rating
LIMIT 5);

可能会更快解决吗?

最新更新