使用 Yii STAT 进行分组聚合?

2024-04-22

我有一个Yii STAT 关系 http://www.yiiframework.com/doc/guide/1.1/en/database.arr#statistical-query其定义是为了提供分组SUM结果,但是当我在视图中访问关系时, the 唯一值是最新的单个值而不是每个值.

例如,这是我的关系:

'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 语句。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Yii STAT 进行分组聚合? 的相关文章

  • MySQL CREATE TABLE 语句上的外键错误(错误:150)

    我觉得我已经在一对非常简单的创建表语句上尝试了一切可能的方法 类型匹配 我尝试使用 ENGINE InnoDB 等 但很困惑为什么我收到外键错误 我已经离开 SQL 一段时间了 所以这可能是一个简单的问题 mysql gt CREATE T
  • Oracle使用with子句创建表

    我可以从使用形成的查询创建表吗with clause Sure CREATE TABLE t AS WITH some data AS SELECT 1 as some value FROM dual UNION ALL SELECT 2
  • SQL版本控制方法

    SO 有几个关于 SQL 版本控制的问题 网上有很多资源 但我找不到完全涵盖我想要做的事情的东西 首先 我在这里谈论一个方法论 我熟悉各种源代码控制应用程序 也熟悉 Red Gate 的 SQL Compare 等工具 并且我知道如何编写应
  • 更新表并返回旧值和新值

    我正在编写一个 VB 应用程序 用于清理 DB2 数据库中的一些数据 在一些表中我想更新整个列 例如帐号列 我正在将所有帐号更改为从 1 开始 并在列表中向下递增 我希望能够返回旧帐号和新帐号 这样我就可以生成某种可以引用的报告 这样我就不
  • 为列名创建动态选择获取值 - 在 SQL Server 中

    请帮助我创建一个选择 SQL 语句 其中的结果列名称是从原始表中的列值获取的 表名是Device Part 用户可以输入很多DeviceCode其中有许多动态PartTypeName PartTypeName 值为PartInfo 这可能有
  • PostgreSQL 中的 LATERAL JOIN 和子查询有什么区别?

    自从 PostgreSQL 推出以来 它具备了以下功能 LATERAL连接 我一直在阅读它 因为我目前为我的团队进行复杂的数据转储 其中有许多低效的子查询 使整个查询需要四分钟或更长时间 我明白那个LATERALjoins 可能可以帮助我
  • 如何从 SQL Server 的表中获取列名?

    我想查询一个表的所有列的名称 我发现如何做到这一点 Oracle https stackoverflow com q 452464 419956 MySQL https stackoverflow com q 193780 419956 P
  • FIND_IN_SET 具有多个值[重复]

    这个问题在这里已经有答案了 我想从数据库字段搜索多个值 以下是我的查询 SELECT FROM tablename WHERE FIND IN SET 12 13 15 15 category id 我如何搜索它对我不起作用 FIND IN
  • 删除所有值比第二高值低 5 倍的记录

    我有一个表 价格 有两个字段 代码 字符 和价格 小数 我需要查找具有相同代码 价格比两个最高价格低 5 倍或更少的所有记录 例如 在这种情况下 我希望删除 id 1 id code price 1 1001 10 2 1001 101 3
  • Oracle 12 对 SQL 中的本地集合类型有问题吗?

    长话短说 我建议讨论下面看到的代码 运行时 Oracle 11 编译器引发 PLS 00306 调用 PIPE TABLE 时参数提示的数量或类型错误 PLS 00642 SQL 语句中不允许使用本地集合类型 Oracle 12编译下面的包
  • SQL选择符号||是什么意思意思是?

    什么是 在 SQL 中做什么 SELECT a b AS letter 表示字符串连接 不幸的是 字符串连接不能在所有 sql 方言之间完全移植 ANSI SQL 中缀运算符 mysql concat 可变参数函数 caution 表示 逻
  • 将插入与 select 语句合并

    这对我有用 MERGE Table1 AS tgt USING SELECT TOP 1 FROM Table2 SELECT itmid FROM Table3 WHERE id id as a WHERE id id AS src ON
  • RedGate ReadyRoll 的替代品了吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种经济实惠的 RedGate ReadyRoll 替代方案 以实现 SQL 的持续部署 我
  • 通过“SELECT”命令选择每组的前两条记录的最佳方法是什么?

    例如我有下表 id group data 1 1 aaa 2 1 aaa 3 2 aaa 4 2 aaa 5 2 aaa 6 3 aaa 7 3 aaa 8 3 aaa 通过 SELECT 命令选择每组的前两条记录的最佳方法是什么 如果没有
  • 如何在 where 子句中使用别名? [复制]

    这个问题在这里已经有答案了 可能的重复 在 WHERE 子句中引用列别名 https stackoverflow com questions 8370114 referring to a column alias in a where cl
  • SQL:列出多个连接语句中的重复记录?

    你好 以下查询在连接多个表后返回所有员工 select e from dbo EMP e join dbo HREMP a on a ID e ID join dbo LOGO c on c EMPID e id join dbo LOGO
  • 小数除以小数并得到零

    为什么当我这样做时 select CAST 1 AS DECIMAL 38 28 CAST 1625625 AS DECIMAL 38 28 我得到 0 吗 但是当我得到 0 时 select CAST 1 AS DECIMAL 20 10
  • 创建用于存储高尔夫球成绩的可扩展数据库架构

    我正在尝试设计一个数据库来存储我所有的朋友和我的高尔夫球成绩 您可能知道 高尔夫得分由 18 洞的个人得分组成 我可以想到两种设计模式的方法 创建一个表 每个洞有一列 例如 h1 到 h18 该表具有引用其他表的 FK player id
  • 获取MySql中重复行的列表

    我有一张这样的桌子 ID nachname vorname 1 john doe 2 john doe 3 jim doe 4 Michael Knight 我需要一个查询 该查询将从具有相同 nachname 和 vorname 的记录
  • sql查询连接两个服务器中不同数据库的两个表

    我在 ServerS 上的数据库中有两个表 tableA 在 ServerB 上的数据库中有两个表 我只想根据这些表的公共字段名对这些表执行 fullouter join 在 SQL Server 中 您可以创建一个链接服务器 在 Mana

随机推荐

  • Spring Neo4j:通过不同控制台执行时相同的密码查询花费不同的时间

    通过不同控制台执行相同的密码查询会花费不同的时间 通过执行spring data neo4j 花了 8 秒 Query MATCH user User uid 0 FRIEND friend User RETURN friend publi
  • 无法使用 ShopifyAPI 更新变体价格

    我面临一个问题 无法使用 ShopifyAPI 更新变体的价格 更新变体的价格时 出现错误 remote errors validation context nil errors gt messages base gt 选项不唯一 根据另一
  • React Native SDK 与 expo SDK 不兼容

    当我使用 expo 运行 React Native 项目时 出现此错误 此项目使用 SDK 38 0 0 但此版本的 Expo Go 仅支持以下 SDK 43 00 42 0 0 41 0 0 40 0 0 加载项目 必须更新到受支持的 S
  • Vue 绑定到外部对象

    我正在尝试使用 Vue 作为一个非常薄的层来将现有模型对象绑定到视图 下面是一个玩具应用程序 说明了我的问题 我有一个GainNode https developer mozilla org en US docs Web API GainN
  • 如何在 Jenkins Build Execute Shell 中运行 docker 命令

    我是詹金斯的新手 我一直在四处寻找 但找不到我要找的东西 我想知道如何在 Jenkins 中运行 docker 命令 构建 执行 Shell 例子 docker run hello world 我在 Jenkins 配置系统中将 Docke
  • 设置纵横比时 Pyplot imshow 不显示方形像素

    我在使用 Pyplot 时遇到一些问题imshow从 numpy 中绘制图像ndarray called data保持其纵横比和方形像素 的形状ndarray is 112 2182 这是我正在使用的代码 import matplotlib
  • NDS 求解波动方程时的不稳定性

    我正在尝试使用NDSolve求解波动方程 以检查使用它是否比我的旧特征方程更容易和 或更快 方法实施 我得到了很多特征方法没有得到的不稳定性 并且由于这些是简单的方程 我想知道出了什么问题 希望不是问题的物理方面 ans Flatten N
  • 如何在 ZedGraph 中同步三个 GraphPane?

    使用时ZedGraph要在三个 GraphPane 上显示六个图表 如第一张图片所示 所有图表都是同步的 但是 当我尝试显示第一个窗格的日期时 图表不同步 如第二张图片所示 重要的是所有六个图表保持同步 以便用户理解整个图表 我已经按照建议
  • MaterialApp 构建器错误:找不到覆盖小部件

    我在构建 navigationDrawer 时遇到错误 其中 tootlip 小部件需要 MaterialApp 作为祖先 这是错误的内容 I flutter 5780 TooltipState bc79e ticker inactive
  • 是否有一种简洁的方法可以使用现有数据的副本生成新线程?

    我正在尝试生成几个新线程 其中每个线程都有自己的copy某个州的 我想要的是这样的 use std thread fn main let data vec 42 10 let more data Important data to stri
  • Python 从子进程调用 raw_input

    我正在使用 subprocess 从下面的脚本中调用 python 脚本 用户从命令行使用 raw input 选择要打开的文件 import optparse import subprocess import readline impor
  • 有些人讨厌的默认 ASP.NET MVC AccountController 代码有哪些特点?

    我读过一些人的来信 西蒙 基亚雷塔 http codeclimber net nz archive 2009 10 27 12 asp net mvc best practices aspx 塞巴斯蒂安 兰布拉 http exposurer
  • pandas 列相关性具有统计显着性

    给定 pandas 数据框 df 来获取其列之间的相关性的最佳方法是什么df 1 and df 2 我不希望输出计算行数NaN which pandas内置相关性可以 但我也希望它输出pvalue或标准错误 而内置错误则不然 SciPy似乎
  • 模型中 Authlogic 的 current_user 对象

    我需要知道模型中当前用户的 ID def after save desc points nil nil if answer index daily question correct answer index desc I18n t dail
  • 无法启动 API 29 模拟器 (Android 10)

    正如标题所说 我尝试创建一个 Android 10 模拟器 当尝试启动模拟器时没有任何反应 只有手机出现在屏幕上 但设备屏幕保持黑色 我没有收到任何错误 我已经等待但没有任何反应曾经发生过 当我触摸关闭按钮时 我收到 AVD Pixel 4
  • 如何从亚马逊s3存储桶中删除文件?

    我需要用 python 编写代码 从 Amazon s3 存储桶中删除所需的文件 我可以连接到 Amazon s3 存储桶 也可以保存文件 但如何删除文件 Using boto3 当前版本1 4 4 使用S3 Object delete h
  • 致命错误:在非对象上调用成员函数 query()

    我正在使用 pdo 并且我已在配置文件中设置连接字符串 例如 db new PDO mysql host localhost dbname mydbname root pass 我在类中的方法 函数中有此查询 query db gt que
  • 硒 + 火狐 + HTTPS

    好的 我知道我问的是一个老生常谈的问题 但我发布这个问题是因为尽管尝试了各种链接上提供的所有解决方案 但我的问题仍未得到解决 我的限制 我不想使用保存的 Firefox 配置文件来保存网站的证书 Selenium 服务器版本 2 0b3 尝
  • 使用 Jadiru Joda/Hibernate 持久用户类型时出现 AbstractMethodError

    我已经向我的 MySQL TIMESTAMP 类型的用户数据库引入了一个 已创建 列 我正在尝试使用 Jadiru 的 UserType Hibernate 映射器将其映射到 Joda LocalDateTime 我正在使用 UserTyp
  • 使用 Yii STAT 进行分组聚合?

    我有一个Yii STAT 关系 http www yiiframework com doc guide 1 1 en database arr statistical query其定义是为了提供分组SUM结果 但是当我在视图中访问关系时 t