代码之家  ›  专栏  ›  技术社区  ›  Abu Ayyub

对特定列求和并在mysql上显示其他列[关闭]

  •  -2
  • Abu Ayyub  · 技术社区  · 6 年前

    我有一张像下面这样的表格,如何“求和” 数量 列和“分组依据” 产品目录 是否显示其他列?我还是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 回复  |  直到 6 年前
        1
  •  1
  •   nazim    6 年前

    可以按产品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