我找不到任何有示例代码的东西。
每当我有一个使用 WITH ROLLUP 或 GROUPING SETS 的 SQL 语句时,如何在我的 PHP 代码中打印出来?我知道如何获取行并回显它们,但不知道总数。
如果重要,我可以访问 Oracle、SQL Server 和 MySQL。
编辑:有没有人可以指点我的例子?
从应用程序的角度来看,包含结果集中聚合值的行和“正常”的行之间绝对没有区别(我的意思是类型是相同的,它们都属于一个结果集)。DB Engine 将添加一个或多个带有聚合信息的额外行,并将NULL
s 作为分组列的值。RDMS 可以提供额外的功能来帮助区分正常NULL
的 s 和NULL
返回的值ROLLUP
(例如,GROUPING
在 SQLServer 中)。
为了获得每一行的总数,您需要有某种聚合函数。例如查看 oracle 文档中的一个示例 rollup , http://docs.oracle.com/cd/F49540_01/DOC/server.815/a68003/rollup_c.htm#32084
正如您在添加聚合函数后从结果中看到的那样,该列是您的总计。如果您只想获取总计,您可以过滤掉其他列的非空值。