DataTable中有以下数据
1 a 30
2 a 34
3 b 33
4 b 33
5 a 343
. ....
......
......
想得到的结果是
a 总和
b 总和
也就是一个分组计算机功能
有什么好的解决方案,大家多多指教!
1 a 30
2 a 34
3 b 33
4 b 33
5 a 343
. ....
......
......
想得到的结果是
a 总和
b 总和
也就是一个分组计算机功能
有什么好的解决方案,大家多多指教!
解决方案 »
- 请教个问题,winform程序,调用PPT程序,如何退出PPT
- C#异常忽略继续执行
- 使用泛型时, 如何调用泛型的静态方法
- 请.NET Socket高手指教
- C# 有没什么方法比较两文件内容不同?
- treeview的一个节点两个值
- 菜鸟问一个简单的javascript问题。。。。
- access数据库插入方法报错
- 初学者难,请问各位大虾哪里有初学者的例子及代码下载?
- 为什么我总感觉VS.net7很不完整,缺很多东西?
- 关于窗体嵌套问题,如同QQ个人设置一样的那样,救命..
- C#.net 实现向comboBox里面输入一个字符后,通过这个输入的字符到数据库里面查找相关的数据显示到下拉表中去,供你选择。(即下拉数据随输入变化)
SQL語句都會寫的吧
前提是知道a这个值,所以还是得循环
DataView dv = dt.DefaultView;
dv.Sort = "字段2 asc";
string tempstr = "";
for(int i=0;i<dv.Count;i++)
{
if(tempstr != dv[i]["字段2"].ToString())
{
tempstr = dv[i]["字段2"].ToString();
//保存tempstr和dt.Compute("sum(字段3)", "字段2='"+tempstr+"'");
}
}
object _ValueCountB = _Table.Compute("Sum(数字列名)", "名字='B'");你可以这样用TABLE
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("C1", typeof(int)));
dt.Columns.Add(new DataColumn("C2", typeof(string)));
dt.Columns.Add(new DataColumn("C3", typeof(int)));
dt.Rows.Add(1, "a", 30);
dt.Rows.Add(2, "a", 40);
dt.Rows.Add(3, "b", 50);
dt.Rows.Add(4, "b", 60);
dt.Rows.Add(5, "a", 70);
Console.WriteLine("a总和:" + dt.Compute("sum(C3)", "C2='a'"));
Console.WriteLine("b总和:" + dt.Compute("sum(C3)", "C2='b'"));
/*
输出:
a总和:140
b总和:110
*/
又不是只有a 和 b 後面還有很多行咧.有c .d .e .f......
前提是知道a这个值,所以还是得循环 DataView dv = dt.DefaultView;
dv.Sort = "字段2 asc";
string tempstr = "";
for(int i=0;i <dv.Count;i++)
{
if(tempstr != dv[i]["字段2"].ToString())
{
tempstr = dv[i]["字段2"].ToString();
//保存或打印tempstr和dt.Compute("sum(字段3)", "字段2='"+tempstr+"'");
}
}
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("C1", typeof(int)));
dt.Columns.Add(new DataColumn("C2", typeof(string)));
dt.Columns.Add(new DataColumn("C3", typeof(int)));
dt.Rows.Add(1, "a", 30);
dt.Rows.Add(2, "a", 40);
dt.Rows.Add(3, "b", 50);
dt.Rows.Add(4, "b", 60);
dt.Rows.Add(5, "c", 70);
dt.Rows.Add(6, "c", 80);
dt.Rows.Add(7, "d", 90);
List<string> list = new List<string>();
foreach (DataRow dr in dt.Rows)
{
if (!list.Contains(dr["C2"].ToString()))
{
Console.WriteLine(dr["C2"] + "总和:" + dt.Compute("sum(C3)", "C2='" + dr["C2"] + "'"));
list.Add(dr["C2"].ToString());
}
}