Datatable 列查询,统计值
Column 列查询,如下:
var dt = CommonUtil.ToDataTable(dataJson);
//判断是否有当前日期数据
var systemDateTime = new CommonProperty().SystemDateTime;
DataRow[] drArray = dt.Select(string.Format("COL_ActDate>='{0}' and COL_ActDate<'{1}'",
systemDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss"),
systemDateTime.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss")));
if (!drArray.Any()) throw new Exception("数据中没有当前日期数据无法保存"); var dicUpdate=new Dictionary<decimal, decimal?>();
var addList = new List<CraftParaActEntity>();
foreach (var column in dt.Columns)
{
string strColumn = column.ToString();
if (!strColumn.Contains("COL_Value_")) continue;
string strColumnId = string.Format("COL_CraftParaActId_{0}", strColumn.Replace("COL_Value_", ""));
DataRow[] drIdArray = dt.Select(string.Format("{0} is not null", strColumnId));
decimal columnId = decimal.Parse(drIdArray[0][strColumnId].ToString());
decimal craftParaId = CraftParaActDALService.QuerySingleCraftParaAct(columnId).CraftParaId;
}
计算列中的统计值,使用聚合函数,此列应是int,decimal可计算的数据类型,如下:
var maxValue = dt.Compute(string.Format("max({0})", strColumn), "true");
var minValue = dt.Compute(string.Format("min({0})", strColumn), "true");
var avgValue = dt.Compute(string.Format("avg({0})", strColumn), "true");
Datatable 列查询,统计值的更多相关文章
- DataTable列查询加排序
DataTable列查询加排序 DataRow[] drArray = dt.Select("ANLYCOM_ID='" + chSPrdtStblAnly.AnlyComId + ...
- DataTable列上多值运算
1.从网上找了个中缀算法(也不知道什么前缀后缀,抱歉),可以对字符串表达式进行运算 2.有些时候还是会用到ASCII码表的 char c = expression[k];//expression为一字 ...
- 从DataTable中查询数据
/// <summary> /// 从DataTable中查询数据 /// </summary> /// <param name="tb">待处 ...
- 帆软报表(finereport)动态列查询
新建普通报表,新建一个数据集ds1,sql语句:select * from 销量 设计模板:选择复选按钮组控件 设置 控件名称 paraed , 控件值设置为公式:["列名",& ...
- 怎么取cxgrid某一列的合计值
怎么取cxgrid某一列的合计值 1.cxGrid1DBTableView1->optionsview->Footer 设为True 2.cxGrid1DBTableView1-> ...
- SQL多列查询最大值
直接从某一列查询出最大值或最小值很容易,通过group by字句对合适的列进行聚合操作,再使用max()/min()聚合函数就可以求出. 样本数据如下: key_id x y z A 1 2 3 B ...
- oracle 多行转多列查询
oracle 多行转多列查询 ---create table Fruit(id int,name varchar(20), Q1 int, Q2 int, Q3 int, Q4 int);inse ...
- .net 手动建DataTable 获取DataTable列名 修改DataTable 列的顺序
//创建 表 DataTable tables = new DataTable(); //添加 创建 列 //第一列 DataColumn cums = new DataColumn(); cums. ...
- Mysql按照字段值做分组行转列查询
今天做个后台服务,有个需求是批量生成一批表的数据,如果用BulkInsert会提升很大一截提交效率,但是如果用循环构造提交的Datable,则算法开销太高,所以用这种查询批量查出符合格式的DataTa ...
随机推荐
- c#变量缺少using引用,如何快速加上using,加Using的快捷键[bubuko.com]
在vs的“工具”->“选项”中,左侧树形菜单,“环境”下的“键盘”中设置快捷键. 在“显示命令包含”输入框内输入“显示智能标记”,找到“视图.显示智能标记”,可以看到该命令的快捷键已经分配了2个 ...
- win 安装mysql
windows上安装sql最容易出现 1067错误,网上查了很多,大部分都是误导.现在将验证过的步骤总结如下: 1.下载mysql,我用的是mysql-5.6.24-win32 下载后解压,进入到bi ...
- Dojo特效(翻译)
http://dojotoolkit.org/documentation/tutorials/1.10/effects/index.html In this tutorial, we will exp ...
- Web性能测试工具JMeter
做Web方面的黑盒测试,也就是功能测试,基本不需要什么测试工具,都是直接打开浏览器访问,点一点界面就行. 现在流行的移动互联网应用,客户端和服务端的开发是分离的,两者开发进度肯定不一样,可能存在服务端 ...
- HDU 2795 Billboard(区间求最大值的位置update的操作在query里做了)
Billboard 通过这题,我知道了要活用线段树的思想,而不是拘泥于形式, 就比如这题 显然更新和查询放在一起很简单 但如果分开写 那么我觉得难度会大大增加 [题目链接]Billboard [题目类 ...
- JS中两个感叹号!!的意义
var foo = true; console.log(!foo); // false console.log(!!foo); // true 两个 !! 就是 非非 如果值为boolean值 两个感 ...
- table的自动增加
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 第二周:If判断语句程序当中的作用简介
1.If语句的作用: 在我们编写程序时经常会遇到内容判断的问题,比如判断内容的真假或者值的大小分别输出内容的问题 这时就会用到我们的If判断语句了,顾名思义,if在英文单词中意思为如果,在Java中他 ...
- 仿造w3school的试一试功能,实现左侧编辑框,右侧效果页面
转自http://fhqllt.iteye.com/blog/836186 每次想快速测试页面效果的时候,特别是在学习前端代码的时候,就想到W3school的那个试一试功能,一直都是用他们那个在线的版 ...
- test spring in category
test tile package com.journaldev.spring.controller; import java.text.DateFormat; import java.util.Da ...