0
<@[for i in linq.TrueIncidents -> i.RecTime, i.Name ] @> |> query |> Array.ofSeq

我怎样才能得到不同名字的计数?

只是count(Name) where Name = somename...

我想首先我必须在这里选择所有带有 |> Seq.distinctBy(fun x -> x.Name) 的名称,然后使 Seq.Count() 不同的选择,其中名称将是名称之一,然后合并所有选择.. . 真是奇怪的方式。

或者我可以稍后将它用作对象,并为每个不同的名称使用 int ref 计数器关闭...

我知道我的解释可能有些混乱,所以请询问您是否无法理解。我想知道有没有办法在闭包或 linq2sql 中使用 Count(Name) where Name = OneOfNames ?

4

1 回答 1

2

我目前无法编译以验证它是否有效,但请尝试以下操作:

<@ linq.TrueIncidents
   |> Seq.groupBy (fun i -> i.Name)
   |> Seq.map (fun (name, is') -> name, Seq.length is') @>
|> query
|> Map.ofSeq

这应该为您提供Map<string, int>每个名称及其各自的出现次数。

于 2011-04-06T09:25:11.977 回答