DataTable包含两列BillId和BillValues。 BillValue可以是任意数字(1到1000)。 我想计算出现在DataTable上的5个账单,10个账单和所有其他账单的总数,并将它们添加到字典中。在这方面,请指教
BillId , BillValue
1 5
1 10
1 10
1 5
1 20
1 5
1 4
1 10
答案 0 :(得分:1)
就像@jarlh已经说过的那样,使用group by会做的伎俩
<%init>
my $message = 'random content';
my $encryptedMsg = Digest::SHA::sha256_hex($message);
</%init>
<强>结果强>
DECLARE @t TABLE (BillID INT, BillValue INT)
INSERT INTO @t VALUES
(1,5),
(1,10),
(1,10),
(1,5),
(1,20),
(1,5),
(1,4),
(1,10)
SELECT BillID, BillValue, COUNT(BillId) AS n
FROM @t
GROUP BY BillID, BillValue
答案 1 :(得分:0)
如果您正在寻找C#解决方案
DataTable dt = new DataTable();
// Assuming you fill Datatable first
Dictionary<int, int> billCounter = new Dictionary<int, int>();
foreach(DataRow dr in dt.Rows)
{
int bill = int.Parse(dr["BillValue"].ToString());
if (billCounter.ContainsKey(bill))
billCounter[bill]++;
else
billCounter.Add(bill, 1);
}
// bill counter is filled with unique counters