算法sum和group by Array数据

时间:2013-12-30 03:17:57

标签: javascript vb.net algorithm group-by sum

我需要一些帮助。我正在使用vb.net和javascript。

我有这样的数据集,

Row     Price     ProductID     Region

1       100       12345         JK1

2       100       12345         JK2

3       100       23456         JK1

4       100       23456         JK2

我需要结果JK1 = 200和JK2 = 200.结果是SUM所有价格与grup按地区。可能在SQL中这很简单,但在编程中我还没试过。

我需要vb.net或javascript中的algoritm。问题是,该地区有很多变化,我不知道它有多少。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

DataTable.Compute方法可以帮助您:

Dim sumPrice As Object = dataTable.Compute("Sum(Price)", "Region ='" + "JK1" + "'")

答案 1 :(得分:0)

我喜欢为此目的使用词典。我对数据集没有多少经验,但这对于这个例子并不重要。我将使用

将输入定义为List(Of RegionPrice)
Structure RegionPrice
  Dim Region as String
  Dim Price as Integer
End Structure
[...]
Dim Data as List(Of RegionPrice) = ....

只需遍历您的数据并获取当前项目的区域和价格。然后

Dim dictSum as New Dictionary(Of String, Integer)
For i = 0 to Data.Count - 1
  If dictSum.ContainsKey(Data(i).Region) Then
    dictSum(Data(i).Region) += Data(i).Price
  Else
    dictSum.Add(Data(i).Region,Data(i).Price)
  End If
Next

然后,您将获得“词典”中每个区域所需的总和。 也许这有助于解决这些问题。