C# Datatable group by 查询
操作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 查询的更多相关文章
- DataTable的子查询--DataTable.Select()
由于需要,在sql查询获得结果集之后,又需要对该结果再进行筛选一次,若重新从sql中查询会浪费资源,因此特地去查阅了一些资料,学会了用DataTable进行子查询. 在.Net Framework 2 ...
- C# List集合Group by查询
C# List集合Group by查询 //根据企业ID.类型.配置ID进行分组: var groupList = chRCheckConfirmList .GroupBy(x => new { ...
- 关于表 datatable的条件查询
关于表 datatable的条件查询 从数据库中获得一个datatable dt .里面有很多的死的数据.然后,我就是要在这个表中来按条件查询,例如 dt中有个列叫"palte", ...
- DataTable/Array Linq查询,groupby
DataTable Linq查询 1.查询DataRow IEnumerable<DataRow> q1 = from r in dt.AsEnumerable() == select r ...
- Linq DataTable Group By 分组显示人员明细
实现功能: 多个字段分组源码样例: 原始数据: 分组后的输出结果: 源代码: public static void PrintPersons() { //准备数据 DataTable dt ...
- linq to datatable 和lambda查询datatable
用Linq查询DataTable static DataTable table = new DataTable(); static DataColumn dc = new DataColumn(); ...
- inq to datatable group by 多列 实现
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.T ...
- group by 查询分组后 组的条数
比如select gid from table group by gid 查询时使用下面的方法查询条数 select count(distinct gid) from table 使用select c ...
- mongodb 对内嵌文档(数组) group分页查询,并设置查询条件
文档示例Account的其中一条记录: // collection: Account { "_id" : ObjectId("5843e38e535f3708f759b2 ...
随机推荐
- Javascript模式(第四章函数)------读书笔记
一 背景 js函数的两个特点:1 函数是第一类对象(first-class object):2 函数可以提供作用域 1 函数是对象: 1 函数可以在运行时动态创建,还可以在程序执行过程中创建 2 可以 ...
- ubuntu中常用软件的安装
1.有道词典 1.百度有道词典,进入有道首页,点"下载词典客户端",下载对应版本. 2.打开终端,进入下载目录,输入sudo dpkg -i youdao-dict_1.0.2~u ...
- Python 面向对象2
静态方法 静态方法相当于函数,可以不创建对象直接引用 如果在类里面用静态方法,相当于函数,可以不创建对象,直接是用类里面的方法,你就当它是函数. 静态方法名义上归类管理,实际上静态方法访问不了类或实例 ...
- 代码安装apk文件
Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri uri = Uri.fromFile(file); in ...
- sql sever笔记 日期时间
SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置. SET DATEFORMAT 将覆盖 SET LANGUAGE 的隐式日期格式设置. 该设置仅用在将字符串转换为日期值 ...
- suspendlayout
c# this.suspendlayout有什么作用 为了防止layout事件的发生.这个事件将引发重新绘图的事件,如果介面上控件较多的话,改变控件某些属性时,由于不断地重画,性能变低,所以用susp ...
- JVM体系结构与工作方式
JVM全程是java virtual machine(java虚拟机). 以计算为中心来看计算机的体系结构可以分为以下几个部分: 1.指令集:这个计算机所能识别的机器语言的命令集合; 2.计算单元:能 ...
- Redis应用配置项说明
近期整理了下项目中Redis配置参数,以便学习备用~ #指定内存大小,格式为1k 1GB 1M,单位不区分大小写 # 1k => 1000 bytes # 1kb => 1024 byt ...
- LeetCode 371. Sum of Two Integers
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. Exam ...
- Unity3D 动画回调方法
最近发现很多coder.在用Unity开发游戏的时候都需要一个需求就是..动画播到某一帧就要干什么事情.而且希望能得到回调. 在unity里面的window菜单有个.Animation工具.打开它.然 ...