<@[for i in linq.TrueIncidents -> i.RecTime, i.Name ] @> |> query |> Array.ofSeq
如何获得不同名字的数量?
只是count(Name) where Name = somename...
我想首先我必须在这里选择所有姓名|&gt; Seq.distinctBy(fun x - &gt; x.Name) 然后使Seq.Count()不同选择Name将是其中一个名称然后联合所有选择...真的很奇怪的方式。
或者我可以稍后使用它作为对象,使用int ref计数器为每个有区别的名称...
据我所知,我的解释可能有些混乱,所以请问你是否能得到它。我想知道有没有办法使用Count(Name),其中Name = OneOfNames里面的闭包或linq2sql?
答案 0 :(得分:2)
我无法编译以验证此时是否有效,但请尝试以下操作:
<@ linq.TrueIncidents
|> Seq.groupBy (fun i -> i.Name)
|> Seq.map (fun (name, is') -> name, Seq.length is') @>
|> query
|> Map.ofSeq
这应该为您提供Map<string, int>
每个名称及其各自的出现次数。