在我的laravel 5.4应用程序中,我有一个一对多(反向)关系。有两种型号Sale
和Vehicle
与场景相关。
销售
模型上的关系为:
public function vehicle()
{
return $this->belongsTo('App\Models\Vehicle','vehicle_id');
}
表销售
具有以下字段:id
,vehicle_id
,date_time
,状态
等。
表车辆
包含以下字段:id
,reg\u编号
,卷
,状态
等。
我想要的是,搜索条件中Sale
记录的字段'vehicles.volume'的总和。
我尝试过以下几种方法:
$query = Sale::where('status', 1);
$query = $query->where('date_time', '<', "2017-05-10 10:10:05");
$totalVolume = $query->whereHas('vehicle')->sum('vehicles.volume');
并导致以下错误:
SQLSTATE[42S22]:未找到列:“字段列表”中的1054未知列“vehicles.volume”(SQL:选择sum(vehicles
volume)作为来自sales
的聚合,其中status
=1和date\u time
希望等待一个解决方案,使用雄辩的查询“获得销售额的总和”。
select sum(volume) as aggregate from vehicles INNER JOIN sales ON vehicles.id=sales.vehicle_id
在求和vehicles.volume
列之前,需要使用连接
$totalVolume = Sale::where('status', 1)
->where('date_time', '<', "2017-05-10 10:10:05")
->join('vehicles', 'vehicles.id', '=', 'sales.vehicle_id')
->select(DB::raw('sum(vehicles.volume) as total_volume');
如何在输出桶中添加名为“agency\u name”的新密钥。 我正在运行一个聚合代码,如下所示 我会把它放出来 在显示时,我需要显示代理名称、代码和doc_count 如何修改聚合查询,以便获得以下格式。我是ElasticSearch新手,不知道如何修复此问题 ElasticSearch中的示例数据(分析字段)
>[danger] 注意!!! 使用聚合功能时,必须给它一个别名,以便能够从模型中访问它 > 聚合函数的计算,都是排除了 null 值,所以COUNT( id ) 一般推荐用非空的主键来计算 COUNT 计算数量 const { Sequelize } = app; // 查询班级总人数,按照姓名聚合 const ret = await Student.findAll({ attribut
在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分、用户的平均成绩等等,ThinkPHP为这些统计操作提供了一系列的内置方法,包括: 方法 说明 count 统计数量,参数是要统计的字段名(可选) max 获取最大值,参数是要统计的字段名(必须) min 获取最小值,参数是要统计的字段名(必须) avg 获取平均值,参数是要统计的字段名(必须) sum
我需要按9个文件分组,并在ElasticSearch中获得每个组的计数,原始代码使用“脚本”,性能很差,所以我需要优化它。我设法创建了一个新的字段并使用“copy_to”,但是当我与新的字段聚合时,我发现了一些问题。 我使用“src ip”和“dst ip”字段作为测试,copy_to字段是“agg condition”。下面是映射: 然后我给它添加一些数据 然后我看到kibana中的映射,它看起
问题内容: 我想使用Django REST Framework,限制可以在创作的相关字段中使用的值。 例如,考虑以下示例(基于http://django-rest-framework.org/api- guide/filtering.html 上的过滤示例,但已更改为ListCreateAPIView): 在此示例中,如何确保购买者在创建时只能等于self.request.user,并且这是可浏览
我不熟悉Mongo中的聚合查询,并且一直在努力产生我想要的输出。我有以下聚合查询: 返回以下结果: 如何修改聚合查询,以便只返回2个文档而不是3个文档?将两个“ABC-123”结果合并为一个结果,并使用带有“bu”和“count”字段的新计数数组,即。 非常感谢