string sql = "select avg(FEScore) as AFEScore from [FEvaluation] group by CourseName='" + courseName + "' and FEDate between '" + DateTime.Now.AddDays(-segment) + "' and '" + DateTime.Now.Date.ToString() + "'";
上面是代码
我想将查询结果的平均分avg(FEScore)重新写入到 AFEScore字段中,这段代码应该怎么改??
上面是代码
我想将查询结果的平均分avg(FEScore)重新写入到 AFEScore字段中,这段代码应该怎么改??
如果是求指课程的平均分,去掉group by 即可,如果是有分班的,group by 后跟班级的字段名。
是错了,想根据ModuleContent分组,求出所有相同ModuleContent的平均分.
另外,是后台的语句.
public void bindFE()
{
string courseName = seleCourse.SelectedItem.Value;
int segment = Convert.ToInt32(seleTime.SelectedItem.Value);
string sql = "select ModuleId, ModuleContent,avg(FEScore) as AFEScore from [FEvaluation] where CourseName='" + courseName + "' and FEDate between '" + DateTime.Now.AddDays(-segment) + "' and '" + DateTime.Now.Date.ToString() + "' group by ModuleId";
FE.DataSource = dataOperate.getDataset(sql, "FEvaluation"); //获取形成性评价数据源
FE.DataKeyNames = new string[] { "ModuleId" }; //设置主键字段
FE.DataBind(); //绑定GridView控件
}
fevaluation where fedate between '' and '' group by ModuleContent) t inner join fevaluation
on fevaluation.ModuleContent=t.ModuleContent and fevaluation.fedate between '' and ''
如果我要改两个字段名的值, string sql0 = "insert into [FEvaluation](AFEScore,FETimes) select avg(FEScore),count(FEScore) from [FEvaluation] where CourseName='" + courseName + "' and FEDate between '" + DateTime.Now.AddDays(-segment) + "' and '" + DateTime.Now.Date.ToString() + "' group by ModuleId";
这样写可不可以啊??