草庐IT

cumulative-sum

全部标签

nosql - NoSQL 数据库如何执行聚合函数(AVG、SUM 等)

我们需要定期处理相当大的数据集(30-40GB)。它有很多按时间排序的值(以及更多信息),但我们基本上需要按月执行一些数学运算。我们的第一种方法是使用MySQL数据库来支持数据,因为我们对引擎和关系方法有一定的经验。但是,这个过程花费的时间太长,我们想知道NoSQL方法是否可以做得更好。基本上我们需要表达的数据是:Value:{NumericalValue,Year,Month}Entity:Listof'Value'我们处理这个列表三次,执行简单的数学运算,当我说“处理”时,我的意思是遍历数据集并执行微积分。当一切都结束时,我们有相同的结构(但数据不同):Value:{Numeric

redis - 在 Redis 中做 sum/count/groupby 的最好方法是什么?

对于Redis列表(或set/zset/hset)['5','5','5','5','4','3','3','3','2','2','2','2','1','1','1']像sql那样统计它的最佳方法是什么selectcount(key),sum(key)fromtablegroupbykey;希望客户端循环不是唯一的方法...... 最佳答案 最好的方法是将总和存储为单独的键,并在您从集合/哈希/zset中添加/删除值时进行更新。在Redis中,您应该尝试根据您的访问模式对数据建模。如果您在运行时需要总和,请预先计算并存储总和。如

redis - 在 Redis 中做 sum/count/groupby 的最好方法是什么?

对于Redis列表(或set/zset/hset)['5','5','5','5','4','3','3','3','2','2','2','2','1','1','1']像sql那样统计它的最佳方法是什么selectcount(key),sum(key)fromtablegroupbykey;希望客户端循环不是唯一的方法...... 最佳答案 最好的方法是将总和存储为单独的键,并在您从集合/哈希/zset中添加/删除值时进行更新。在Redis中,您应该尝试根据您的访问模式对数据建模。如果您在运行时需要总和,请预先计算并存储总和。如

sum - Redis:排序集中的分数总和

在Redis排序集中获取SCORES总和的最佳方法是什么? 最佳答案 我认为唯一的选择是迭代排序集并在客户端计算总和。 关于sum-Redis:排序集中的分数总和,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4846243/

sum - Redis:排序集中的分数总和

在Redis排序集中获取SCORES总和的最佳方法是什么? 最佳答案 我认为唯一的选择是迭代排序集并在客户端计算总和。 关于sum-Redis:排序集中的分数总和,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4846243/

c# - 多个 group by 和 Sum LINQ

我有一个如下所示的产品销售表:saleDateprodqty10/22/09soap1009/22/09pills0509/25/09soap0609/25/09pills15我需要计算每个月的总和,因此最终表格将如下所示:saleDateprodqty10/09soap1009/09soap0609/09pills20我可以用LINQ做到这一点吗? 最佳答案 varproducts=new[]{new{SaleDate=newDateTime(2009,10,22),Product="Soap",Quantity=10},new{

c# - 多个 group by 和 Sum LINQ

我有一个如下所示的产品销售表:saleDateprodqty10/22/09soap1009/22/09pills0509/25/09soap0609/25/09pills15我需要计算每个月的总和,因此最终表格将如下所示:saleDateprodqty10/09soap1009/09soap0609/09pills20我可以用LINQ做到这一点吗? 最佳答案 varproducts=new[]{new{SaleDate=newDateTime(2009,10,22),Product="Soap",Quantity=10},new{

c# - 使用 LINQ 在 C# 中查找数字数组的累加和

我有一个包含double的csv字符串(例如“0.3,0.4,0.3”),我希望能够输出一个包含这些数字的累加和的double组(例如[0.3,0.7,1.0])。到目前为止,我有double[]probabilities=textBox_f.Text.Split(newchar[]{','}).Select(s=>double.Parse(s)).ToArray();它以数组形式给出数字,但不是数字的累加和。有什么方法可以继续这个表达式来得到我想要的,还是我需要使用迭代从我已有的数组中创建一个新数组? 最佳答案 有时间进行概括,也

c# - 使用 LINQ 在 C# 中查找数字数组的累加和

我有一个包含double的csv字符串(例如“0.3,0.4,0.3”),我希望能够输出一个包含这些数字的累加和的double组(例如[0.3,0.7,1.0])。到目前为止,我有double[]probabilities=textBox_f.Text.Split(newchar[]{','}).Select(s=>double.Parse(s)).ToArray();它以数组形式给出数字,但不是数字的累加和。有什么方法可以继续这个表达式来得到我想要的,还是我需要使用迭代从我已有的数组中创建一个新数组? 最佳答案 有时间进行概括,也

c# - LINQ:使用 INNER JOIN、Group 和 SUM

我正在尝试使用LINQ执行以下SQL,我得到的最接近的结果是进行交叉连接和求和计算。我知道必须有更好的方法来编写它,所以我向堆栈团队寻求帮助。SELECTT1.Column1,T1.Column2,SUM(T3.Column1)ASAmountFROMT1INNERJOINT2ONT1.T1ID=T2.T1IDINNERJOINT3ONT2.T3ID=T3.T3IDGROUPBYT1.Column1,T1.Column2我一直在尝试的是以下LINQ代码varqTotal=fromT2incontext.T2fromT3incontext.T3whereT3.T3ID==T3.T3IDg