Symfony2查找重复行并汇总另一列

时间:2014-05-27 18:41:52

标签: php mysql sql symfony doctrine-orm

我正在使用Symfony2和doctrine来获取所有重复的行以及它们出现的次数。那部分我已经失败了。现在,每个行都有一个qty字段。我想要做的是运行我的查询并显示重复行出现的次数以及每个行的qty字段的总和:

我的数据库表如下所示:

  id | sku  | qty
  ----------------------
  1   A      1
  2   B      1
  3   A      3
  4   A      5
  5   A      1
  6   A      1
  7   B      2
  8   A      1
  9   A      1

这是我的初始查询,它抓取所有重复的行:

 SELECT  o, count(o.id) as cnt
 FROM    WIC\APIBundle\Entity\FBAOrderHistory o
 GROUP BY o.sku HAVING cnt > 1 order by cnt desc

输出:

  id | sku  | cnt
  ----------------------
  1   A      7
  2   B      2

但我想要的是:

  id | sku  | cnt  | qty
  ----------------------
  1   A      7      13
  2   B      2      3

有谁知道如何做到这一点。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

使用SUM()

 SELECT  o, count(o.id) as cnt ,sum(o.qty) as 
 FROM    WIC\APIBundle\Entity\FBAOrderHistory o
 GROUP BY o.sku HAVING cnt > 1 order by cnt desc

Using DQL

Mysql Demo