在mysql中基于条件的分组

时间:2017-07-26 07:47:33

标签: mysql mysqli

我的数据库表列表是

product_no | c_product_no| qty  | price
1001       | 4306-0      | 15   | 100
1001       | 4306-0      | 15   | 100
665        | 5906-7      | 981  | 2547
783        | 5906-7      | 1221 | 200
783        | 590111      | 5    | 300
783        | 5906-7      | 1221 | 200

我希望out put是

product_no | c_product_no| qty  | price
1001       | 4306-0      | 30   | 100
665        | 5906-7      | 981  | 2547
783        | 5906-7      | 2442 | 200
783        | 590111      | 5    | 300

我在分组中的条件是product_no和c_product_no,价格相同,分组数据和总和

1 个答案:

答案 0 :(得分:0)

SELECT product_no, c_product_no, SUM(qty), price 
FROM table 
GROUP BY product_no, c_product_no, price

此答案假设所有具有相同(product_no,c_product_no)的记录的价格相同。我们按数据product_no,c_product_no和价格分组(实际上这不是必需的。我们在组中包括价格,以便我们可以将它包括在选择部分中)。

SUM(qty)将计算具有相同product_no,c_product_no,价格组合的所有记录的数量总和