从MySQL

时间:2015-12-29 03:59:21

标签: mysql sql

我正在尝试组合一个MySQL查询来从特定表中选择和乘以两列。另外,如果第三列的值与任何其他行匹配,我希望查询添加每次乘法的结果。

该表包含以下列:idclient_idproject_idratequantity

因此,每行寻找rate乘以quantity。如果每行具有相同的project_id,则添加这些结果。

这是我到目前为止所做的:

SELECT rate * quantity AS total_price FROM orders WHERE client_id=1 GROUP BY project_id

这似乎让我接近,但并不是那么完整。它似乎将所有计算结果返回到一个大数组中,而不是将相关的结果添加到一起。更复杂的是,有几个项目具有相同的client_id

2 个答案:

答案 0 :(得分:4)

只需添加Sum汇总

即可
SELECT project_id,
       Sum(rate * quantity) AS total_price
FROM   orders
WHERE  client_id = 1
GROUP  BY project_id 

答案 1 :(得分:1)

SELECT sum(rate * quantity) AS total_price FROM orders WHERE client_id=1 GROUP BY project_id