当前位置: 首页 > 面试题库 >

与Yii STAT分组汇总?

巩子实
2023-03-14
问题内容

我有一个Yii
STAT关系
,该关系被定义为提供分组SUM结果, 但是,当我在View中访问该关系时唯一的值是最新的单个值,而不是每个值

例如,这是我的关系:

'total_salaries_by_job' => array(
    self::STAT, 
    'Employee', 
    'department_id', 
    'select' => 'job_type_id, SUM(salary)', 
    'group'=>"job_type_id"
)

这将生成以下SQL:

SELECT
  department_id AS c
, job_type_id
, SUM(salary) AS s 
FROM Employee AS t
WHERE t.department_id = 1 
GROUP BY 
  department_id
, job_type_id

手动运行该结果集为:

c     | job_type_id    | s
------+----------------+---------
1     | 1              | 233000
------+----------------+---------
1     | 2              | 25000
------+----------------+---------
1     | 3              | 179000

但是,我认为,如果执行以下操作:

<pre>
<?php print_r($department->total_salaries_by_job); ?>
</pre>

结果很简单:179000,而我期望它是一个包含3个元素的数组。

是仅以STAT关系的工作方式返回1值,还是我需要做其他事情?
有可能做我想做的事吗?


问题答案:

您可以按照自己的意愿去做,但是不能使用STAT关系来做到这一点。而是,使用普通的HAS_MANY关系并使用相同的select语句。



 类似资料:
  • 使用我将跟踪的请求大小的摘要 < li >请求总数 < li >总请求大小总计 < li >最大请求大小 我可以这样做 但是,我可以使用计数器和最大尺寸的量规来实现相同的效果 问题是,除了更短之外,总结比更长的解决方案有什么好处吗?

  • 问题内容: 我复习了很多有关这些东西的信息,但是不明白它们之间有什么区别?在Fowler的UML中,Distilled说“聚合”严格意义上是没有意义的,因此作者建议不要在图表中使用它。请解释一下什么时候应该使用它们,以及它们将如何影响Java代码。 问题答案: 这是一个非常有争议的问题。正如Martin在答案中解释的那样,订单汇总了产品。这可以认为是正确的。Grady Booch在他的“面向对象的

  • 问题内容: 给定一个自引用表 与相关值的相关表 还有一些样本数据 我需要一个存储程序来接送直属孩子,并为他们,他们的孩子和他们的孩子一路走来。 例如,如果传入,则树将是直接子代,输出将是 应该采用哪种方法来实现此行为? 我正在考虑使用CTE,但想知道是否有更好/更快的方法。 问题答案: 假设您的层次结构不算太深,这样的递归CTE将可以工作: 非CTE方法将需要某种形式的迭代,基于游标或其他方式。由

  • 问题内容: 我想通过ORM进行一个非常简单的查询,但无法弄清楚。 我有三种模式: 位置(位置),属性(位置可能具有的属性)和评分(也包含得分字段的M2M“直通”模型) 我想选择一些重要的属性,并能够通过这些属性对我的位置进行排名-即,所有选定属性的总分更高=更好。 我可以使用以下SQL来获取所需的内容: 哪个返回 | 我可以通过ORM得到的最接近的是: 哪个返回 即所有的总和,而不是按位置分组。

  • 问题内容: 我试图以一种优雅的方式编写一个函数,该函数将字典列表进行分组并汇总(加和)like键的值。 例: 我尝试使用itertools为groupby进行此操作,并对每个相似键值对进行求和,但是这里缺少一些内容。这是我的函数当前的样子: 问题答案: 您可以使用和。 使用dict可以在中完成,而排序则需要时间。 的优点是它将自动将相似键的值相加。 例:

  • iPhone 分辨率汇总 机型分辨率 iPhone型号 pt scale px 宽高比 statusBar tabBar iPhone 4s 320 * 480 2 1.5 20 49 iPhone 5 320 * 568 2 1.775 ↑ ↑ iPhone 5s 320 * 568 2 1.775 ↑ ↑ - - - - - - - iPhone 6/7/8 375 * 667 2 1.778