OrderBy извлекает последние данные после groupBy в структуре YII2.

$query = COrder::find()->псевдоним('co')
    ->leftJoin(CollagePGoods::tableName() . 'g', 'co.g_id = g.g_id')
    ->select('co.*, FROM_UNIXTIME(max(`co`.suat)) as max_time,g.info,g.img')
    ->where(['co.uid'=>$uid]);
если (!пусто($params['cluster_type']) && $params['cluster_type'] != 100) {
    $query->andWhere(['co.user_type' => $params['cluster_type']]);
}
$query->andWhere(['co.stat' => $collage_sta]);
$query->andWhere(['co.deleted_at' => null]);
$query-> groupBy('co.g_id');
если($order_by == 'su_at'){
    $query-> orderBy(['max_time' => $order_by_type]);
}еще{
    $query->orderBy(['co.'.$order_by => $order_by_type]);
}
//дд($запрос->getSql());
$pageNumber = $страница - 1;
$totalCount = $запрос->количество();
$pages = new Pagination(['totalCount' => $totalCount, 'pageSize' => $pageSize]);
$pages->setPage($pageNumber);

$list = $query->offset($pages->offset)->limit($pages->limit)->asArray()->all();

рекомендация

отblog.csdn.net/hechenhongbo/article/details/124603540