将多行合并为一行 - mysql

时间:2017-11-11 03:37:59

标签: php mysql

我正在尝试从发票数据库创建库存数据库。我的发票数据库如下所示:

  invoiceNo  |  date   |  supplier  |  productID  |  productName  |  qty
-------------------------------------------------------------------------
  I0001      |  9/21   |  ABC       |     0001    |  yz           |  23
  I0001      |  9/21   |  ABC       |     0023    |  xy           |  42
  I0002      |  9/24   |  DEF       |     2106    |  pq           |  60
  I0003      |  9/30   |  ABC       |     0023    |  xy           |  32

在库存数据库中,我想将包含相同产品的多行合并为一行并对数量求和。所以,它看起来像这样:

  productID  |  productName  |  stock  
---------------------------------------
  0001       |  yz           |  23
  0023       |  xy           |  74
  2106       |  pq           |  60

有可能吗?我一直在搜索CONCATJOIN,但我不确定。

2 个答案:

答案 0 :(得分:0)

您想使用GROUP BY声明。

SELECT productID, productName, sum(qry)
  FROM [your table]
GROUP BY productID, productName

答案 1 :(得分:0)

这可以通过对具有相同productname的行进行分组并将其数量相加来实现

 SELECT productID ,productName,SUM(qty) AS stock
 FROM name of table
 GROUP BY productName,productID;