1

基本的に日付フィールドと「スコア」フィールド(「幸せ」、「中立」、「悲しい」のいずれか)を含むフィードバックスコアの表があります。

次のように、月ごとの各スコアのカウントを取得するクエリを返したいとします。

ここに画像の説明を入力

ただし、クエリが正しくグループ化されていません。基本的には、毎月 3 つの行を取得しています (次のように、「幸せ」に 1 行、「中立」に 1 行、「悲しい」に 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 に答える