DataTable dt = DAL.getTable(select * from 成绩表);
/*
名字 性别 成绩
text1 男 80
text1 男 60
text1 男 90
text2 女 60
text2 女 90
text2 女 90
*/
DataTable table = new DataTable(); //创建个存放名字和总数的datatable
table.Columns.AddRange(
new DataColumn[] { new DataColumn("名字", typeof(string)),
new DataColumn("总成绩", typeof(string)) });
DataTable dtName = dt.DefaultView.ToTable(true, "名字");//对名字进行分组,筛选出共多少个名字,筛选结果为text1,text2
for (int i = 0; i < dtName.Rows.Count; i++)
{
DataRow dr = table.NewRow();
dr[0] = dtName.Rows[i][0].ToString();//存放名字
dr[1] = dt.Compute("sum(成绩)", "名字='" + dtName.Rows[i][0] +"'");//对应的名字进行sum汇总
table.Rows.Add(dr);//添加进table中
}
string ZCJ = "";
for (int i = 0; i < table.Rows.Count; i++)
{
JKB = "学生" + table.Rows[i][0].ToString() + " 总成绩为:" + table.Rows[i][1].ToString() + " \r";//后面加个\r进行换行
}
一般用于sql中查出来的数据需要单独汇总的情况