1

我有一个反馈分数表,它基本上包含一个日期字段和一个“分数”字段(可能是“快乐”、“中立”或“悲伤”)。

我想返回一个查询,它按月为我提供每个分数的计数,如下所示:

在此处输入图像描述

但是,我的查询没有正确分组——我基本上每个月都会得到三行(一行表示“快乐”,一行表示“中性”,一行表示“悲伤”,如下所示:

在此处输入图像描述

如何将数据聚合在一起?

我现在的查询是这样的:

var monthlyScore = from f in db.tl_feedbacks
    group f by new { month = f.timestamp.Month, year = f.timestamp.Year, score = f.tl_feedback_score.score } into g
     select new
            {
              dt = string.Format("{0}/{1}", g.Key.month, g.Key.year),
              happyCount = g.Where(x => x.tl_feedback_score.score == "happy").Count(),
              neutralCount = g.Where(x => x.tl_feedback_score.score == "neutral").Count(),
              sadCount = g.Where(x => x.tl_feedback_score.score == "sad").Count(),
              total = g.Count()

          };
4

1 回答 1

2

, score = f.tl_feedback_score.score从您的分组中删除。

于 2015-03-12T16:44:26.617 回答