我遇到麻煩linq語句以我需要的方式提供數據我的觀點。Linq聲明有條件地包括或排除然後計數結果
這是我的數據有:
AgentName questions
Alison 1
Alison 1
Alison 0
Jack 0
Jack 99
Jack 1
我需要能夠有一個統計1和0的數據集,但在上面的例子所以忽略99,艾莉森有2個問題(1)正確的,1個問題(0)錯誤。傑克有一個問題是正確的(1),一個錯誤(0),一個不算(99)。由此產生的數據是:
AgentName questions Correct Question Wrong
Alison 2 1
Jack 1 1
我已經試過是:
var results = qas.GroupBy(x => x.AgentName)
.Select(x => new
{
AnalystId = x.Key,
Analyst = x.FirstOrDefault().Analyst.AgentName,
Correct= x.Count().Where(x => x.questions ==1),
Wrong= x.Count().Where(x => x.questions ==0)
})
...但它失敗的:
Correct= x.Count().Where(x => x.questions ==1),
Wrong= x.Count().Where(x => x.questions ==0)
我會很感激的任何指導,
謝謝,馬克
的答案已經告訴你什麼是錯誤的,我只想補充一下:在這種情況下,你應該問自己在你的Linq-Query中代表什麼'x'。如果你清楚這一點,大多數問題都可以解決;) – germi