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");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM