我有一些东西,每件东西都有一些用户评论,每条评论都有一个数字(1-5)评级。我想定期运行一个批处理作业,该作业将根据每个“事物”的用户评论中的个人评级计算每个“事物”的平均评级,然后使用该新评级再次保存“事物”。我希望这种情况发生在服务器上,而无需下载和上传每个文档。换句话说,我正在寻找一种解决方案,它将迭代我收藏中的所有内容,对用户评论的评分求和,然后将该总和除以评分计数(从而得到平均值)并将该平均值存储在每个文档的属性。我一开始尝试用map/reduce来解决这个问题,比如:function(){varrating=0;for(vari=0;i评级似乎计算正确,但我无法在第一个或第
我在mongodb中有这些数据{"name":"FooBar","__v":0,"user_rating":[{"date":"2017-06-02T16:19:32.002Z","user_rating":5,},{"date":"2017-06-02T16:19:46.803Z","user_rating":3,},{"date":"2017-06-02T16:20:01.244Z","user_rating":5,},{"date":"2017-06-02T16:15:54.673Z","user_rating":3,},{"date":"2017-06-02T16:53:42.
我们需要根据一些定义的算法对我们的记录进行排名。我们的MongoDB中有4个字段,如下所示;{"rating":3.5"review":4"revenue":100"used":3.9},{"rating":1.5"review":2"revenue":10"used":2.1}在查询数据时,我们将发送%作为计算的权重。因此,假设我们发送30%用于评级,30%用于评论,20%用于收入和utthesed。现在我们需要根据以下计算对每条记录进行评分。Scorepercolumn=(ExistingValue-Average(Column)/StandardDeviation)*%weigh
我正在用Python和MySQL构建一个视频推荐网站(想想音乐视频的潘多拉)。我的数据库中有三个表:video-视频表格。数据不变。列是:CREATETABLE`video`(idint(11)NOTNULLAUTO_INCREMENT,website_idsmallint(3)unsignedDEFAULT'0',rating_globalvarchar(128)DEFAULT'0',titlevarchar(256)DEFAULTNULL,thumb_urltext,PRIMARYKEY(`id`),KEY`websites`(`website_id`),KEY`id`(`id`)
考虑这样的SQL查询SELECTTemp.rating,Temp.avgageFROM(SELECTS.rating,AVG(S.age)ASavgageFROMSailorsSGROUPBYS.rating)ASTempWHERETemp.avgage=(SELECTMIN(Temp.avgage)FROMTemp)MySQL监视器给出此错误:ERROR1146(42S02):Table'testDB.Temp'doesn'texist我应该怎么做才能避免这个错误? 最佳答案 SELECTTemp.rating,Temp.avga
我在codeigniter中使用以下查询:$this->db->select('products.id,categories.nameascat_name,products.nameasname,products.product_image,products.description,products.price,products.furl,products.on_sale,products.quantity_in_stock,products.product_code,products.rating_1,products.rating_2,products.rating_3,produ
我有一个媒体文件表和另一个媒体文件评级表。我应该使用什么SQL语句从第一个表中选择第二个表中正面评级与负面评级比率最高的媒体文件?下表包含与每个媒体文件相关的信息。表:“媒体”|mediaID|-----------|3||22|给出下表;媒体文件#3的评分为2/3或66%,#22的评分为1/2或50%。表:“评分”|mediaID|rating|--------------------|3|1||3|1||3|0||22|1||22|0|任何帮助将不胜感激:)我已经做到了:SELECTmedia.mediaID,((SELECTCOUNT(CASEWHENrating=1THEN1E
我是编程的新手。我只是做了一个供个人使用的系统。可以添加两个玩家的运动比赛结果。目前一切正常。现在我想添加一个ELO评级系统。我不明白,我应该如何设计我的数据库。问题是,我无法理解,如何保持正确的评分计算记录,以防任何游戏结果随时被删除。例如,有人添加了错误的数据,游戏条目应该被删除。那么,数据库应该如何设计,如果我从条目中间删除任何游戏,评级将重新正确计算?我无法解决的问题的说明性示例(评分计算仅供引用):Player1(rating1200),Player2(1200)Game1played,player1wins.Ratingaftergame:P1:1231,P2:1169Ga
我举办了一个日历摄影比赛,该比赛使用5星评级系统,根据图像的平均评级对图像进行排名。但是,我想考虑照片获得的总票数以获得更准确的排名。例如,我不希望获得1个5星投票(平均评分:5)的图像排名高于获得10个5星投票和1个4星投票(平均评分:4.9)的图像。我知道之前有人提出过这个话题,但我似乎找不到适用于我的特定情况的直接答案。EvanMiller网站超出了我的理解范围……我只是在寻找一种简单的计算方法,可以为获得更多总票数的图像赋予更多权重。我找到的最接近的答案位于此处:Whatisabetterwaytosortbya5starrating?.这个解决方案的唯一问题是我的场景中没有变
我有store表与product表相关,product.rating(int)1到5我想根据我的帖子数据找到平均产品评级为3星或任何的商店我的代码$store=newStore;if((int)$request->input('store-rating')>0){$store->whereHas('product',function($query)use($request){$rate=$request->input('product-rating');$query->where(DB::raw('AVG(rating)'),$rate);});}$store->with('produ