对spesific列求和并在MySQL上显示其他列

时间:2018-12-16 15:44:15

标签: php mysql group-by sum

我有一个如下表,如何将“ 数量”列与“分组” productId 与“显示其他”列一起显示?我仍然是mysql的新手

id     |  productId  | invoice  | qty  | price  
-------------------------------------------------
1      |  1          | INV-01   | 2    | 1000    
2      |  2          | INV-01   | 3    | 2000             
3      |  1          | INV-01   | 1    | 1000          
4      |  2          | INV-01   | 1    | 2000         
5      |  3          | INV-02   | 1    | 3000             
6      |  3          | INV-02   | 2    | 3000             
7      |  4          | INV-02   | 2    | 4000  

我的期望:

productId  | invoice  | qty  | price  
-------------------------------------------------
1          | INV-01   | 3    | 1000    
2          | INV-01   | 4    | 2000                            
3          | INV-02   | 3    | 3000                        
4          | INV-02   | 2    | 4000  

1 个答案:

答案 0 :(得分:1)

您可以按产品ID分组,然后提供所需的字段列表。在以下情况下,它将显示productId,具有给定产品ID的最大值的发票编号,产品ID的数量的总和以及产品ID的价格的最大值。

SELECT productId, max(invoice) as invoice, sum(qty) as qty, max(price) as price
FROM table #replace with table's name
GROUP BY productId