• linq 日期分组统计


     #region
            string Condition(DateTime date, string type)
            {
                if (date == null)
                {
                    date = DateTime.MinValue;
                }

                if (type == "day")
                {
                    return date.ToString("yyyy-M-d");
                }
                else if (type == "month")
                {
                    return date.ToString("yyyy-M");
                }
                return date.Year.ToString();
            }
            public void xx()
            {
                List<DateTime> datelist = new List<DateTime>();
                var today = DateTime.Now.Date;
                for (var i = 0; i < 7;i++ )
                {
                    datelist.Add(today.AddDays(-i));
                }

                var oderlist = this.Find().AsEnumerable();
                var result = from m in datelist
                             join n in oderlist on Condition(m, "day") equals Condition(n.create_time, "day") into c
                             from cc in c.DefaultIfEmpty()
                             group cc by Condition(m, "day") into g
                             select new { g.Key, Total = (g.FirstOrDefault()==null?0:g.Count())};

                var ccc = result.ToList();

            }
            #endregion
  • 相关阅读:
    notepad++ 在所有行末尾增加符号
    Linux
    [论文阅读] MIR音乐信息检索3
    GitLab CE 常规配置与命令 零点
    Java线程学习之Condition条件
    Java线程学习之ReentrantLock锁
    Java线程学习之读写锁
    PyQt(三) 常见控件二
    PyQt5(四) 线程与绘图处理
    Python 开发规范
  • 原文地址:https://www.cnblogs.com/waitingfor/p/4321452.html
Copyright © 2020-2023  润新知