gpt4 book ai didi

mysql - yii 如何获取每个用户的最新日期记录

转载 作者:行者123 更新时间:2023-11-30 21:49:26 26 4
gpt4 key购买 nike

我在工作的 worker 报告显示最后日期。

我想获取单个用户的最后日期报告记录,并且需要显示他们在 yii 中完成最后一个日期的单个项目所花费的总时间。

我的表结构是:

id  worker  project  total_time   date
---------------------------------------------
1 6 2 1370932128 20-12-2017
2 9 3 1370931664 20-12-2017
3 12 5 1370933037 20-12-2017
4 12 6 1370932128 19-12-2017

目前我的work_report表模型查询是

$criteria=new CDbCriteria;
$criteria->alias = 'a';
$criteria->select = 'a.*, worker.*, project.*, SUM(a.total_time) as groupbysum, max(a.date) as MaxDate';
$criteria->with = array('worker','project');

$criteria->condition = 'a.date=worker.MaxDate';


$criteria->group = 'a.project, a.worker';
$criteria->order = 'worker.worker_name ASC';


$new_criteria = clone $criteria;
$new_criteria->select = "SUM(a.total_time) as sum";
$new_criteria->group = '';
$new_result = WorkReport::model()->find($new_criteria);

它不工作。它向我显示 sql 错误,我不知道如何解决此问题。

Column not found: 1054 Unknown column 'worker.MaxDate' in 'where clause'.

最佳答案

您不能在 where 条件中使用别名和聚合结果,但您可以使用 having 作为基于聚合结果的过滤结果。例如:

$criteria->having= 'a.date=worker.MaxDate';

关于mysql - yii 如何获取每个用户的最新日期记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47922808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com