操作Datatable  group by  查询

                //获取统计图形数据
var dicleft = new Dictionary<string, DataTable>();
var query = from t in dataTableList[].AsEnumerable()
group t by new { mname = t.Field<string>("COL_MATERIAL_NAME") } into m
select new
{
MaterialName = m.Key.mname,
value = m.ToList()
};
foreach (var item in query)
{
var dtmax = new DataTable();
dtmax.Columns.Add("XValue");
dtmax.Columns.Add("YValue");
var dtmin = dtmax.Copy();
var dtavg = dtmax.Copy();
var dtup = dtmax.Copy();
var dtdown = dtmax.Copy(); foreach (DataRow dritem in item.value)
{
DataRow dr = dtmax.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_MAXVALUE"];
dtmax.Rows.Add(dr);
dr = dtmin.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_MINVALUE"];
dtmin.Rows.Add(dr);
dr = dtavg.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_AVGVALUE"];
dtavg.Rows.Add(dr);
dr = dtup.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_UPVALUE"];
dtup.Rows.Add(dr);
dr = dtdown.NewRow();
dr["XValue"] = dritem["COL_DATEMONTH"];
dr["YValue"] = dritem["COL_DOWNVALUE"];
dtdown.Rows.Add(dr);
}
dicleft.Add(item.MaterialName + "-最高值", dtmax);
dicleft.Add(item.MaterialName + "-最低值", dtmin);
dicleft.Add(item.MaterialName + "-平均值", dtavg);
dicleft.Add(item.MaterialName + "-内控上限", dtup);
dicleft.Add(item.MaterialName + "-内控下限", dtdown);
}
chartEntity = QMBasicData.AnalyticSeriesData(dicleft, "", new Dictionary<string, DataTable>(), "",
ChartTypeEnum.Line);

C# Datatable group by 查询的更多相关文章

  1. DataTable的子查询--DataTable.Select()

    由于需要,在sql查询获得结果集之后,又需要对该结果再进行筛选一次,若重新从sql中查询会浪费资源,因此特地去查阅了一些资料,学会了用DataTable进行子查询. 在.Net Framework 2 ...

  2. C# List集合Group by查询

    C# List集合Group by查询 //根据企业ID.类型.配置ID进行分组: var groupList = chRCheckConfirmList .GroupBy(x => new { ...

  3. 关于表 datatable的条件查询

    关于表 datatable的条件查询 从数据库中获得一个datatable dt .里面有很多的死的数据.然后,我就是要在这个表中来按条件查询,例如 dt中有个列叫"palte", ...

  4. DataTable/Array Linq查询,groupby

    DataTable Linq查询 1.查询DataRow IEnumerable<DataRow> q1 = from r in dt.AsEnumerable() == select r ...

  5. Linq DataTable Group By 分组显示人员明细

    实现功能:       多个字段分组源码样例: 原始数据: 分组后的输出结果: 源代码: public static void PrintPersons() { //准备数据 DataTable dt ...

  6. linq to datatable 和lambda查询datatable

    用Linq查询DataTable static DataTable table = new DataTable(); static DataColumn dc = new DataColumn(); ...

  7. inq to datatable group by 多列 实现

    using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.T ...

  8. group by 查询分组后 组的条数

    比如select gid from table group by gid 查询时使用下面的方法查询条数 select count(distinct gid) from table 使用select c ...

  9. mongodb 对内嵌文档(数组) group分页查询,并设置查询条件

    文档示例Account的其中一条记录: // collection: Account { "_id" : ObjectId("5843e38e535f3708f759b2 ...

随机推荐

  1. linux 1-100的累加

    [   ]   判断式.它的使用和test命令一样 [ ]的判断符,只会返回2种值.0(真) 非0(假) -gt 大于-lt 小于-eq 等于-ne 不等于-ge 大于等于-le 小于等于 while ...

  2. [PHP] - Apache + PHP 环境搭建

    Apache和PHP的版本分别为: httpd-2.4.9-win64-VC11.zip php-5.6.9-Win32-VC11-x64.zip 下载地址: php-5.6.9-Win32-VC11 ...

  3. PHPWord

    PHPWord中文乱码 我在 使用PHPWord$section->addText(),输出中文是遇到乱码,PHPWord 中文乱码解决如下: 第一步:打开phpword/Section.php ...

  4. STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例

    我用的是IAR,这个貌似是MDK的,不过很有用,大家可以看一下 ;* 文件名 : startup_stm32f10x_hd.s ;* 库版本 : V3.5.0 ;* 说明: 此文件为STM32F10x ...

  5. openssl创建非认证的https证书(红色的)

    1.生成csr,key openssl req -new -newkey rsa:2048 -sha256 -nodes -out example_com.csr -keyout example_co ...

  6. MSSQL 多行合并为一行

    select ptl_a01, ptl_piitem, ( ) as ptl_count, STUFF((SELECT ','+ltrim(ptl_pdid) FROM PRODUCT_TRACEAB ...

  7. SDWebImage总结

    SDWebImage 支持异步的图片下载+缓存,提供了 UIImageView+WebCache的 category,方便使用. 优点:首先NSURLCache是缓存原始数据(raw data)到磁盘 ...

  8. Microsoft JScript 运行时错误: '$' 未定义

    在运行MVC Music Store时Visual Studio 捕捉到此错误: Microsoft JScript 运行时错误: '$' 未定义 可能是引用的Scripts 引用出错,检查当前文件中 ...

  9. 树莓派开启root用户

    树莓派系统使用的linux是debian系统,所以树莓派启用root和debian是相同的. debian里root账户默认没有密码,但账户锁定. 当需要root权限时,由默认账户经由sudo执行,R ...

  10. 使用maven一步一步构建spring mvc项目

    1      使用eclipse构建maven web项目 1.1新建Maven的web项目 打开菜单File –New-MavenProject. 点击Next 选择模板类型archtype——ma ...