我正在尝试根据聚合表构建客户购买量最大的产品的高级摘要.
该表采用以下格式
account_code product_id num_purchases
abc123 1 10
abc123 2 5
xyz789 1 5
Run Code Online (Sandbox Code Playgroud)
我想回到下面
account_code product_id
abc123 1
xyz789 1
Run Code Online (Sandbox Code Playgroud)
因此,对于每个帐户,将返回该帐户购买最多的产品的产品ID.
到目前为止,我一直在努力解决这个问题,但我觉得必须有一个相当基本的解决方案,非常感谢任何帮助!:)
我有下面的F#代码,它用于连接4个字符串,用空格分隔,只包括那些不是null或完全是空格的.
let street =
split.[5..8]
|> Array.filter (String.IsNullOrWhiteSpace >> not)
|> String.concat " "
Run Code Online (Sandbox Code Playgroud)
这非常有效,但性能不如下面的C#实现.
var street = "";
if (!string.IsNullOrWhiteSpace(items[5]))
street += items[5];
if (!string.IsNullOrWhiteSpace(items[6]))
street += string.IsNullOrWhiteSpace(street) ? items[6] : " " + items[6];
if (!string.IsNullOrWhiteSpace(items[7]))
street += string.IsNullOrWhiteSpace(street) ? items[7] : " " + items[7];
if (!string.IsNullOrWhiteSpace(items[8]))
street += string.IsNullOrWhiteSpace(street) ? items[8] : " " + items[8];
return street;
Run Code Online (Sandbox Code Playgroud)
有没有办法可以在F#中实现相同的实现方式,而不是使用内联函数?
编写一个C#应用程序来运行一些预定的任务,我真正需要的就是持续监控日期和时间,并在每个月的28号召唤一次功能,然后耐心地等待下一个28日一个月到来.
我想它会以某种方式使用System.Threading.Thread.Sleep(),但至于它应该运行的具体条件,以及如何防止它在相关日期多次运行,我不是当然...
任何帮助非常感谢:)