![](/img/trans.png)
[英]Group by column to count duplicated values from another column in LINQ WPF
[英]Linq query to get count with multiple column values coming from condition on another column
我有一個表A,如下所示:
表A
ID ScheduleID UserCode
1 4 D
2 4 A
3 1 B
4 2 D
5 4 C
6 6 A
7 2 B
我想獲取與特定UserCode對應的所有那些scheduleID值的行數。 例如,對於UserCode = D,對應的ScheduleID為4和2。ScheduleID = 2和4的所有行的計數為5。
我試過以下查詢:
int count = A.Count(j => j.ScheduleID.Equals
(A.Any(k => k.UserCode == D)));
這給出了運行時錯誤
“無法將類型'System.Boolean'強制轉換為類型'System.Object'
。 誰能建議這種情況下的准確查詢是什么?
var query = A.Where(p=> p.UserCode == D).Select(x=> x.ScheduleID);
var count = A.Count(p=> query.Contains(p.ScheduleID));
您可以將第二行中的查詢替換為第一行,使其成為一行,但我個人認為這更干凈
這是我獲得相同結果的解決方案:
int count = (from q1 in A
join q2 in A on q1.ScheduleID equals q2.ScheduleID
where q2.UserCode == "D"
select q1).Count();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.