zoukankan      html  css  js  c++  java
  • 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");
  • 相关阅读:
    「 HDU P3336 」 Count the string
    Luogu P4016 「 网络流 24 题 」负载平衡问题
    『 学习笔记 』网络最大流
    Luogu P4014 「 网络流 24 题 」分配问题
    Loj #6000.「 网络流 24 题 」搭配飞行员
    牛客练习赛25 C 再编号
    线段树--从入门到入土
    网络流学习--费用流
    网络流--最大流
    五校联考解题报告
  • 原文地址:https://www.cnblogs.com/yisheng/p/6182930.html
Copyright © 2011-2022 走看看