我需要一些帮助。我正在使用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。问题是,该地区有很多变化,我不知道它有多少。
有人可以帮忙吗?
答案 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
然后,您将获得“词典”中每个区域所需的总和。 也许这有助于解决这些问题。