草庐IT

avg_rating

全部标签

mongodb - 从 mongodb $avg 中排除 0 个值但保留其他字段

我在MongoDB3.2上运行一些聚合查询。我想按一个字段对文档进行分组,并在另一个数字字段上取平均值。我需要平均值来忽略0值。问题是我无法完全过滤文档,因为我需要另一个字段来进行计数。让我们举例说明:这是我的文档结构:{"stringToGroupByOn":"foo","valueToAvg":42,"valueToSum":21}{"stringToGroupByOn":"foo","valueToAvg":0,"valueToSum":13}我不能像这样过滤:db.foobar.aggregate([{$match:{valueToAvg:{$gt:0}}},{$group:{

javascript - MongoDB:聚合函数中的字符串字段的 parseFloat ($avg)

我正在Mongo中存储一些包含任意字段的数据。该字段存储为字符串,但可以包含二进制数据、整数、float或其他任何内容(取决于应用程序和另一个字段“类型”)。无论如何,假设我确定我正在查询的文档在此字段中存储float值,类型为字符串,我想知道这些值在特定日期范围内的平均值。不幸的是,根据$avgdocumentation,它会忽略任何非数字值。有没有办法强制parseFloat或类似的东西来动态转换文档值以安抚$avg运算符?示例文档结构:{"_id":ObjectId("540f4e29f287300b9097663d"),"DateReceived":ISODate("2014-

mongodb - Mongodb聚合框架计算avg文​​档

我有问题集每个个人资料可以有很多问题。{"_id":"...","pid":"...",.....}如何使用mongoDB新聚合框架计算每个配置文件的平均问题数?尝试了以下但没有成功:{"aggregate":"question","pipeline":[{"$group":{"_id":"$pid","qCount":{"$sum":1}}},{"$group":{"qavg":{"$avg":"qCount"},"_id":null}}]}是否可以只用一个组运算符(operator)来完成?谢谢。 最佳答案 为此,您只需要知道问

php - Laravel Eloquent 关系 AVG 有

我有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

MySQL 限制、组和 AVG 查询

这是给你的谜题:我将集群计算的统计数据保存在名为“jobs”的MySQL表中。每个作业行都有一个执行作业的主机(不是唯一的)、一个以秒为单位的作业执行时间和一个唯一的整数作为PK,因此我可以简单地通过订购PK来订购完成的作业。截至目前,使用average和groupby,我可以找到每个主机在所有已完成作业中的平均执行时间(以秒为单位)。我想要的不是平均每台主机的所有执行时间,而是每台主机最后五个作业的平均时间。有各种各样的操作和分组依据的例子,还有很多限制操作的例子,但是有没有办法在一个相当简单的MySQL查询中将两者结合起来?编辑:如果我不清楚,我想要主机1的平均五次执行时间,主机2

mysql - 多个表上的 SQL 查询、AVG 和 COUNT

我需要一个查询,我使用的查询由于某种原因不能按我想要的方式工作这里是查询涉及的所有表。这是我想要的查询:显示带有平均评分和推荐数量的图书列表结果应该是这样的:我已经尝试过的:SELECTbook.isbn,AVG(ratings.rating)AS[AVGRatings],COUNT(recommend.isbn)AS[Numberofrecommendation]FROMbookINNERJOINrecommendONbook.isbn=recommend.isbnINNERJOINratingsONbook.isbn=ratings.isbnGROUPBYbook.isbn但它没有

MYSQL COUNT 结果并在按列分组时对它们进行 AVG

我正在尝试选择过去30天每天的平均完成次数,然后取平均值。这是我的Rundown表的示例RundownID|WorkOrderID|ForemanID|Completion|RundownDate1|1|1|1|2017-10-272|2|1|1|2017-10-263|3|1|1|2017-10-204|4|1|1|2017-10-275|5|2|1|2017-10-276|6|2|1|2017-10-277|7|3|1|2017-10-258|8|2|0|2017-10-20我要找的结果是ForemanID|ForemanAvg1|42|23|1它应该获取过去30天内完成行的总数,

mysql - 你的 SQL 语法有错误...在 'float)/CAST(rating_count AS float)) as average_rating from document' 附近

查询如下selectid,IF(rating_count=0,null,CAST(rating_sumASfloat)/CAST(rating_countASfloat))asaverage_ratingfromdocumentdleftjoindocument_aggregate_ratingusing(id)whereidin(123);我得到的错误ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxt

MySQL 查询 avg 和 count 大于一个值

我有一个表tbl_emply,其中包含每个雇员的字段Salary、DNO和EID。我需要找到每个拥有两个以上员工的DNO的平均薪水。我试过类似的查询selectavg(salary),DNOfromtbl_emplywherecount(select*fromtbl_emplygroupby(DNO)>2);selectavg(salary),DNOfromtbl_emplygroupby(DNO);但是这些都让我无效使用groupby。如何得到结果? 最佳答案 使用HAVINGSELECTAVG(salary),DNOFROMtb

mysql - 具有 AVG 函数的空集与任意非空集的 UNION

这是我的第一个问题,所以请耐心等待..:)我们是两个开发人员,都拥有相同的MySql数据库,其中包含相同的表和值。一个是MySql5.5版并且工作正常(显然),正如其他开发人员告诉我的那样。在装有MySql5.1.44(基本MAMP安装)的机器上,我遇到了以下奇怪的问题。一个非常大的查询(不是我的)失败并出现错误“Column'xd'cannotbenull”。删除部分我将其简化为:selectxd,avg(media)fromquestionario_punteggiwheresomefield=1unionselect1,2请注意,没有包含somefield=1的记录,因此第一个选