Php Yii2:如何使用distinct、groupby、sum和where条件

Php Yii2:如何使用distinct、groupby、sum和where条件,php,activerecord,yii2,yii2-advanced-app,Php,Activerecord,Yii2,Yii2 Advanced App,我想在使用Yii2语法选择查询中执行下面的查询 select distinct pfs_id, unitprice, sum(qty) from order_items where order_id= id and item_farm_id = id group By pfs_id 我试了好几次,但还是没有成功 请选择任何一个帮助。下面的查询返回您想要的结果作为数组 $data=ModelName::find() //replace your model name here ->sel

我想在使用
Yii2
语法选择查询中执行下面的查询

select distinct pfs_id, unitprice, sum(qty)
from order_items
where order_id= id
and item_farm_id = id
group By pfs_id
我试了好几次,但还是没有成功


请选择任何一个帮助。

下面的查询返回您想要的结果作为数组

$data=ModelName::find()  //replace your model name here
->select('distinct(pfs_id),unitprice,sum(qty)')
->where(['order_id'=>id,'item_farm_id'=>id])
->groupBy('pfs_id')
->asArray->all();
您还可以使用别名:

$data=ModelName::find()
->select('distinct(pfs_id) as pfs_id,unitprice,sum(qty) as sum_of_qty')
->where(['order_id'=>id,'item_farm_id'=>id])
->groupBy('pfs_id')
->asArray->all();

下面的查询返回您想要的结果作为数组

$data=ModelName::find()  //replace your model name here
->select('distinct(pfs_id),unitprice,sum(qty)')
->where(['order_id'=>id,'item_farm_id'=>id])
->groupBy('pfs_id')
->asArray->all();
您还可以使用别名:

$data=ModelName::find()
->select('distinct(pfs_id) as pfs_id,unitprice,sum(qty) as sum_of_qty')
->where(['order_id'=>id,'item_farm_id'=>id])
->groupBy('pfs_id')
->asArray->all();