linq去掉不等于0的数据求平均

来源:互联网 发布:企业铃声制作软件 编辑:程序博客网 时间:2024/05/22 23:58

         1>MainPageController的GetForecastAir方法

 var stationDataQuery = efAir.FindAll<T_MID_FORECASTSTATISTICS>(d => d.MONITORTIME == lastDate && d.FORECASTTIME > lastMoniDate);

            stationDataQuery = stationDataQuery.Where(t => t.MODEL == "0");
            var s1 = stationDataQuery.ToList();

            var stationMonitorQuery = efAir.FindAll<T_MID_CityAIRQUALITYDAY>(d => d.MONIDATE > firstDate && d.REGIONCODE == cityid);

             //d.MONIDATE < lastDate && 有3.16号的日均值监测数据,从3.14号开始无预测数据

            //站点信息
            var stationInfoQuery = efAir.FindAll<T_BAS_AIRSTATION>(d => d.REGIONCODE == cityid && d.ISSTAT != 0);// && d.ISSTAT != 0
            //连接查询获取预报数据。
            var datas = (
                from s in stationInfoQuery
                join d in stationDataQuery on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    CO = (decimal)d.CO,
                    NO2 = (short)d.NO2,
                    O3 = (short)d.O3,
                    O38H = (short)d.O38H,
                    PM10 = (short)d.PM10,
                    PM25 = (short)d.PM25,
                    SO2 = (short)d.SO2
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE = t.Key.REGIONCODE,
                       CO = t.Average(x => x.CO),//GetAvgValue(t, x => x.CO), //s.Average(x => x.CO),
                       NO2 = t.Average(x => x.NO2),//GetAvgValue(s, x => x.NO2),
                       O3 = t.Average(x => x.O3),//GetAvgValue(s, x => x.O3),
                       O38H = t.Average(x => x.O38H),//GetAvgValue(s, x => x.O3),
                       PM10 = t.Average(x => x.PM10),//GetAvgValue(s, x => x.PM10),
                       PM25 = t.Average(x => x.PM25),//GetAvgValue(s, x => x.PM25),
                       SO2 = t.Average(x => x.SO2),//GetAvgValue(s, x => x.SO2)
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //污染物浓度为0的不参与市均值的计算20160821
            //计算CO的市均值
            var stationDataQuery_co = stationDataQuery.Where(s => s.CO > 0);
            var data_co = (
                from s in stationInfoQuery
                join d in stationDataQuery_co on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    CO = (decimal)d.CO,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE = t.Key.REGIONCODE,
                       CO = t.Average(x => x.CO),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算NO2的市均值
            var stationDataQuery_NO2 = stationDataQuery.Where(s => s.NO2 > 0);
            var data_NO2 = (
                from s in stationInfoQuery
                join d in stationDataQuery_NO2 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONNO2DE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    NO2 = (decimal)d.NO2,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONNO2DE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONNO2DE = t.Key.REGIONNO2DE,
                       NO2 = t.Average(x => x.NO2),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算SO2的市均值
            var stationDataQuery_SO2 = stationDataQuery.Where(s => s.SO2 > 0);
            var data_SO2 = (
                from s in stationInfoQuery
                join d in stationDataQuery_SO2 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONSO2DE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    SO2 = (decimal)d.SO2,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONSO2DE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONSO2DE = t.Key.REGIONSO2DE,
                       SO2 = t.Average(x => x.SO2),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算O3的市均值
            var stationDataQuery_O3 = stationDataQuery.Where(s => s.O3 > 0);
            var data_O3 = (
                from s in stationInfoQuery
                join d in stationDataQuery_O3 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONO3DE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    O3 = (decimal)d.O3,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONO3DE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONO3DE = t.Key.REGIONO3DE,
                       O3 = t.Average(x => x.O3),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算O38H的市均值
            var stationDataQuery_O38H = stationDataQuery.Where(s => s.O38H > 0);
            var data_O38H = (
                from s in stationInfoQuery
                join d in stationDataQuery_O38H on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONO38HDE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    O38H = (decimal)d.O38H,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONO38HDE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONO38HDE = t.Key.REGIONO38HDE,
                       O38H = t.Average(x => x.O38H),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算PM10的市均值
            var stationDataQuery_PM10 = stationDataQuery.Where(s => s.PM10 > 0);
            var data_PM10 = (
                from s in stationInfoQuery
                join d in stationDataQuery_PM10 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONPM10DE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    PM10 = (decimal)d.PM10,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONPM10DE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONPM10DE = t.Key.REGIONPM10DE,
                       PM10 = t.Average(x => x.PM10),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算PM25的市均值
            var stationDataQuery_PM25 = stationDataQuery.Where(s => s.PM25 > 0);
            var data_PM25 = (
                from s in stationInfoQuery
                join d in stationDataQuery_PM25 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONPM25DE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    PM25 = (decimal)d.PM25,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONPM25DE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONPM25DE = t.Key.REGIONPM25DE,
                       PM25 = t.Average(x => x.PM25),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            var data7 = (
                from s in datas
                join d1 in data_co on s.MONIDATE equals d1.MONIDATE
                join d2 in data_NO2 on s.MONIDATE equals d2.MONIDATE
                join d3 in data_SO2 on s.MONIDATE equals d3.MONIDATE
                join d4 in data_O3 on s.MONIDATE equals d4.MONIDATE
                join d5 in data_O38H on s.MONIDATE equals d5.MONIDATE
                join d6 in data_PM10 on s.MONIDATE equals d6.MONIDATE
                join d7 in data_PM25 on s.MONIDATE equals d7.MONIDATE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONIDATE = s.MONIDATE,
                    CO = (decimal)d1.CO,
                    NO2 = (short)d2.NO2,
                    SO2 = (short)d3.SO2,
                    O3 = (short)d4.O3,
                    O38H = (short)d5.O38H,
                    PM10 = (short)d6.PM10,
                    PM25 = (short)d7.PM25

                });

                //计算市均值

               foreach (var item in data7)//datas__20160821去掉0求平均


2>ReportController的avgCityNum方法

     ReportController的LoadForeAvgAQIData方法

//污染物浓度为0的不参与市均值的计算20160821
            //计算CO的市均值
            var stationDataQuery_co = stationDataQuery.Where(s => s.CO > 0);
            var data_co = (
                from s in stationInfoQuery
                join d in stationDataQuery_co on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE=s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    CO = (decimal)d.CO,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE=t.Key.REGIONCODE,
                       CO = t.Average(x => x.CO),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算NO2的市均值
            var stationDataQuery_NO2 = stationDataQuery.Where(s => s.NO2 > 0);
            var data_NO2 = (
                from s in stationInfoQuery
                join d in stationDataQuery_NO2 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    NO2 = (decimal)d.NO2,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE = t.Key.REGIONCODE,
                       NO2 = t.Average(x => x.NO2),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算SO2的市均值
            var stationDataQuery_SO2 = stationDataQuery.Where(s => s.SO2 > 0);
            var data_SO2 = (
                from s in stationInfoQuery
                join d in stationDataQuery_SO2 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    SO2 = (decimal)d.SO2,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE = t.Key.REGIONCODE,
                       SO2 = t.Average(x => x.SO2),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算O3的市均值
            var stationDataQuery_O3 = stationDataQuery.Where(s => s.O3 > 0);
            var data_O3 = (
                from s in stationInfoQuery
                join d in stationDataQuery_O3 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    O3 = (decimal)d.O3,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE = t.Key.REGIONCODE,
                       O3 = t.Average(x => x.O3),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算O38H的市均值
            var stationDataQuery_O38H = stationDataQuery.Where(s => s.O38H > 0);
            var data_O38H = (
                from s in stationInfoQuery
                join d in stationDataQuery_O38H on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    O38H = (decimal)d.O38H,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE = t.Key.REGIONCODE,
                       O38H = t.Average(x => x.O38H),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算PM10的市均值
            var stationDataQuery_PM10 = stationDataQuery.Where(s => s.PM10 > 0);
            var data_PM10 = (
                from s in stationInfoQuery
                join d in stationDataQuery_PM10 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    PM10 = (decimal)d.PM10,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE = t.Key.REGIONCODE,
                       PM10 = t.Average(x => x.PM10),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            //计算PM25的市均值
            var stationDataQuery_PM25 = stationDataQuery.Where(s => s.PM25 > 0);
            var data_PM25 = (
                from s in stationInfoQuery
                join d in stationDataQuery_PM25 on s.STATIONCODE equals d.STATIONCODE
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    MONITORTIME = d.FORECASTTIME,
                    PM25 = (decimal)d.PM25,
                }
                    )
                   .ToList()
                   .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME })
                   .Select(t => new
                   {
                       REGIONCODE = t.Key.REGIONCODE,
                       PM25 = t.Average(x => x.PM25),
                       MONIDATE = t.Max(x => x.MONITORTIME)
                   });
            var data7 = (
                from s in data4
                //join d1 in data_co on new { s.FORECASTTIME, s.REGIONCODE }
                //                                 equals new { d1.MONIDATE, d1.REGIONCODE } 
                join d1 in data_co on s.FORECASTTIME equals d1.MONIDATE 
                where s.REGIONCODE==d1.REGIONCODE
                join d2 in data_NO2 on s.FORECASTTIME equals d2.MONIDATE
                where s.REGIONCODE == d2.REGIONCODE 
                join d3 in data_SO2 on s.FORECASTTIME equals d3.MONIDATE
                where s.REGIONCODE == d3.REGIONCODE 
                join d4 in data_O3 on s.FORECASTTIME equals d4.MONIDATE
                where s.REGIONCODE == d4.REGIONCODE 
                join d5 in data_O38H on s.FORECASTTIME equals d5.MONIDATE
                where s.REGIONCODE == d5.REGIONCODE 
                join d6 in data_PM10 on s.FORECASTTIME equals d6.MONIDATE
                where s.REGIONCODE == d6.REGIONCODE 
                join d7 in data_PM25 on s.FORECASTTIME equals d7.MONIDATE
                where s.REGIONCODE == d7.REGIONCODE 
                select new
                {
                    REGIONCODE = s.REGIONCODE,
                    FORECASTTIME = s.FORECASTTIME,
                    REGIONNAME = s.REGIONNAME,
                    CO = (decimal)d1.CO,
                    NO2 = (short)d2.NO2,
                    SO2 = (short)d3.SO2,
                    O3 = (short)d4.O3,
                    O38H = (short)d5.O38H,
                    PM10 = (short)d6.PM10,
                    PM25 = (short)d7.PM25
                }).OrderBy(a => a.REGIONCODE);
             
             foreach (var item in data7)//data4__20160821去掉0求平均

3>PatternForecastController的getDataByWhere方法

     DidPeriodForeController的getDataByWhere方法

     AccuracyRateController的getAvgFore方法

     //污染物浓度为0的不参与市均值的计算20160821
               //计算CO的市均值
               var stationDataQuery_co = datas.Where(s => s.CO > 0);
               var data_co = (
                   from s in stationInfoQuery
                   join d in stationDataQuery_co on s.STATIONCODE equals d.STATIONCODE
                   select new
                   {
                       REGIONCODE = s.REGIONCODE,
                       MONITORTIME = d.MONITORTIME,
                       FORECASTTIME = d.FORECASTTIME,
                       CO = (decimal)d.CO,
                   }
                       )
                      .ToList()
                      .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME, g.FORECASTTIME })
                      .Select(t => new
                      {
                          REGIONCODE = t.Key.REGIONCODE,
                          CO = t.Average(x => x.CO),
                          MONITORTIME = t.Max(x => x.MONITORTIME),
                          FORECASTTIME = t.Max(x => x.FORECASTTIME)
                      });
               //计算NO2的市均值
               var stationDataQuery_NO2 = datas.Where(s => s.NO2 > 0);
               var data_NO2 = (
                   from s in stationInfoQuery
                   join d in stationDataQuery_NO2 on s.STATIONCODE equals d.STATIONCODE
                   select new
                   {
                       REGIONCODE = s.REGIONCODE,
                       MONITORTIME = d.MONITORTIME,
                       FORECASTTIME = d.FORECASTTIME,
                       NO2 = (decimal)d.NO2,
                   }
                       )
                      .ToList()
                      .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME, g.FORECASTTIME })
                      .Select(t => new
                      {
                          REGIONCODE = t.Key.REGIONCODE,
                          NO2 = t.Average(x => x.NO2),
                          MONITORTIME = t.Max(x => x.MONITORTIME),
                          FORECASTTIME = t.Max(x => x.FORECASTTIME)
                      });
               //计算SO2的市均值
               var stationDataQuery_SO2 = datas.Where(s => s.SO2 > 0);
               var data_SO2 = (
                   from s in stationInfoQuery
                   join d in stationDataQuery_SO2 on s.STATIONCODE equals d.STATIONCODE
                   select new
                   {
                       REGIONCODE = s.REGIONCODE,
                       MONITORTIME = d.MONITORTIME,
                       FORECASTTIME = d.FORECASTTIME,
                       SO2 = (decimal)d.SO2,
                   }
                       )
                      .ToList()
                      .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME, g.FORECASTTIME })
                      .Select(t => new
                      {
                          REGIONCODE = t.Key.REGIONCODE,
                          SO2 = t.Average(x => x.SO2),
                          MONITORTIME = t.Max(x => x.MONITORTIME),
                          FORECASTTIME = t.Max(x => x.FORECASTTIME)
                      });
               //计算O3的市均值
               var stationDataQuery_O3 = datas.Where(s => s.O3 > 0);
               var data_O3 = (
                   from s in stationInfoQuery
                   join d in stationDataQuery_O3 on s.STATIONCODE equals d.STATIONCODE
                   select new
                   {
                       REGIONCODE = s.REGIONCODE,
                       MONITORTIME = d.MONITORTIME,
                       FORECASTTIME = d.FORECASTTIME,
                       O3 = (decimal)d.O3,
                   }
                       )
                      .ToList()
                      .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME, g.FORECASTTIME })
                      .Select(t => new
                      {
                          REGIONCODE = t.Key.REGIONCODE,
                          O3 = t.Average(x => x.O3),
                          MONITORTIME = t.Max(x => x.MONITORTIME),
                          FORECASTTIME = t.Max(x => x.FORECASTTIME)
                      });
               //计算O38H的市均值
               var stationDataQuery_O38H = datas.Where(s => s.O38H > 0);
               var data_O38H = (
                   from s in stationInfoQuery
                   join d in stationDataQuery_O38H on s.STATIONCODE equals d.STATIONCODE
                   select new
                   {
                       REGIONCODE = s.REGIONCODE,
                       MONITORTIME = d.MONITORTIME,
                       FORECASTTIME = d.FORECASTTIME,
                       O38H = (decimal)d.O38H,
                   }
                       )
                      .ToList()
                      .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME, g.FORECASTTIME })
                      .Select(t => new
                      {
                          REGIONCODE = t.Key.REGIONCODE,
                          O38H = t.Average(x => x.O38H),
                          MONITORTIME = t.Max(x => x.MONITORTIME),
                          FORECASTTIME = t.Max(x => x.FORECASTTIME)
                      });
               //计算PM10的市均值
               var stationDataQuery_PM10 = datas.Where(s => s.PM10 > 0);
               var data_PM10 = (
                   from s in stationInfoQuery
                   join d in stationDataQuery_PM10 on s.STATIONCODE equals d.STATIONCODE
                   select new
                   {
                       REGIONCODE = s.REGIONCODE,
                       MONITORTIME = d.MONITORTIME,
                       FORECASTTIME = d.FORECASTTIME,
                       PM10 = (decimal)d.PM10,
                   }
                       )
                      .ToList()
                      .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME, g.FORECASTTIME })
                      .Select(t => new
                      {
                          REGIONCODE = t.Key.REGIONCODE,
                          PM10 = t.Average(x => x.PM10),
                          MONITORTIME = t.Max(x => x.MONITORTIME),
                          FORECASTTIME = t.Max(x => x.FORECASTTIME)
                      });
               //计算PM25的市均值
               var stationDataQuery_PM25 = datas.Where(s => s.PM25 > 0);
               var data_PM25 = (
                   from s in stationInfoQuery
                   join d in stationDataQuery_PM25 on s.STATIONCODE equals d.STATIONCODE
                   select new
                   {
                       REGIONCODE = s.REGIONCODE,
                       MONITORTIME = d.MONITORTIME,
                       FORECASTTIME = d.FORECASTTIME,
                       PM25 = (decimal)d.PM25,
                   }
                       )
                      .ToList()
                      .GroupBy(g => new { g.REGIONCODE, g.MONITORTIME, g.FORECASTTIME })
                      .Select(t => new
                      {
                          REGIONCODE = t.Key.REGIONCODE,
                          PM25 = t.Average(x => x.PM25),
                          MONITORTIME = t.Max(x => x.MONITORTIME),
                          FORECASTTIME = t.Max(x => x.FORECASTTIME)
                      });
               
               var data7 = (
                   from s in dataNew
                   //join d1 in data_co on new { s.FORECASTTIME, s.REGIONCODE }
                   //                                 equals new { d1.MONIDATE, d1.REGIONCODE } 
                   join d1 in data_co on new { s.MONITORTIME,s.FORECASTTIME } equals new { d1.MONITORTIME,d1.FORECASTTIME }
                   where s.REGIONCODE == d1.REGIONCODE
                   join d2 in data_NO2 on new { s.MONITORTIME, s.FORECASTTIME } equals new { d2.MONITORTIME, d2.FORECASTTIME }
                   where s.REGIONCODE == d2.REGIONCODE
                   join d3 in data_SO2 on new { s.MONITORTIME,s.FORECASTTIME } equals new { d3.MONITORTIME,d3.FORECASTTIME }
                   where s.REGIONCODE == d3.REGIONCODE
                   join d4 in data_O3 on new { s.MONITORTIME,s.FORECASTTIME } equals new { d4.MONITORTIME,d4.FORECASTTIME }
                   where s.REGIONCODE == d4.REGIONCODE
                   join d5 in data_O38H on new { s.MONITORTIME,s.FORECASTTIME } equals new { d5.MONITORTIME,d5.FORECASTTIME }
                   where s.REGIONCODE == d5.REGIONCODE
                   join d6 in data_PM10 on new { s.MONITORTIME,s.FORECASTTIME } equals new { d6.MONITORTIME,d6.FORECASTTIME }
                   where s.REGIONCODE == d6.REGIONCODE
                   join d7 in data_PM25 on new { s.MONITORTIME,s.FORECASTTIME } equals new { d7.MONITORTIME,d7.FORECASTTIME }
                   where s.REGIONCODE == d7.REGIONCODE
                   select new
                   {
                       REGIONCODE = s.REGIONCODE,
                       MONITORTIME=s.MONITORTIME,
                       FORECASTTIME = s.FORECASTTIME,
                       REGIONNAME = s.REGIONNAME,
                       CO = (decimal)d1.CO,
                       NO2 = (short)d2.NO2,
                       SO2 = (short)d3.SO2,
                       O3 = (short)d4.O3,
                       O38H = (short)d5.O38H,
                       PM10 = (short)d6.PM10,
                       PM25 = (short)d7.PM25
                   }).OrderBy(a => a.REGIONCODE).ToList();;
                //求各市均值
               
               foreach (var item in data7)//dataNew__20160821去掉0求平均

0 0