【发布时间】:2015-11-10 14:40:01
【问题描述】:
我有一些来自 SQL dB 的数据,看起来类似于
recordID value date
A 4 11/20/14
A 1 11/25/14
B 5 01/10/15
B 2 01/20/15
C 10 11/20/14
C 3 11/25/14
C 5 11/30/14
但有数万行。
我的目标是,对于每个recordID,在应用日期过滤器后保留与最新日期对应的行。
我可以很容易地用
过滤数据let filteredData = table
|> Seq.filter (fun x -> System.DateTime.Compare(x.Date.Value, convertStringToDate "1/15/15")) <= 0)
(函数convertStringToDate是System.DateTime.Parse的包装器。)
上面的let 语句返回一个行序列,其中仅包括等于或在"1/15/15" 之前的行,但我最终需要的是一个dB 行序列,其中每个recordID 由它表示一次最大,过滤日期。
我怀疑我会以某种方式使用Seq.groupBy,但作为F# 的一个相对较新的用户,我不知道如何在这里使用它。 I did not find the Seq.groupBy example on the MSDN page very helpful.
有人有什么想法吗?感谢您的帮助。
【问题讨论】:
标签: f#