如何使用具有重复数据的数组查询Sum?

时间:2015-06-16 17:49:08

标签: php mysql arrays

我目前在PHP中有一个带产品编号的数组。让我们称之为var ad = AppDomain.CreateDomain("Sandbox"); ad.UnhandledException += (o, e) => { Console.WriteLine("Who Cares"); }; ad.Load("TestLibrary.TestLibrary"); ad.DoCallBack(() => { TestLibrary lib = new TestLibrary(); lib.DoWork(); }); 。 在我的数据库中,我有一个表格,其中包含产品编号和属于该产品的价格的组合。

问题:如果例如文章#1被订购两次,我的数组可以保留重复的条目。

如果我使用像

这样的查询
products

1的重复条目被丢弃。我要查询的查询总和为SELECT SUM(price) FROM articles WHERE article_number IN (products)

有没有办法在MySQL中执行此操作?

作为对我的数据的澄清:

10 + 10 + 12.5 + 9.95

谢谢:)

3 个答案:

答案 0 :(得分:2)

winmutt有一个可靠的答案。但是,如果您没有这样的表来加入,那么您可以像这样建立您的查询:

select sum (p) from (
  (select price as p from articles where article_number = 1)
  union all
  (select price as p from articles where article_number = 1)
  union all
  (select price as p from articles where article_number = 2)
  union all
  (select price as p from articles where article_number = 3)
) s

答案 1 :(得分:1)

如果您的产品在表格中,您可以进行简单的加入:

SELECT SUM(price) FROM articles JOIN products on article_number=product_number

答案 2 :(得分:0)

我认为在SQL中可能有一种更简单的方法。我通过查询数组产品的所有价格,然后在PHP中迭代我的数组来总结那里的价格,从而在PHP中解决了它。