sql - 如何计算 Oracle SQL 中计数列的总和?

标签 sql database oracle oracle-sqldeveloper

我正在尝试计算一列的总和,该列对另一个数字列的值进行计数。我想要计算总和的特定列是“COUNT(d.totalcostofrent)”。

我根本无法让总数显示在 table 下面!

这是我的代码:

COLUMN dummy NOPRINT
COMPUTE SUM OF totalcostofrent ON DUMMY
BREAK ON dummy
COLUMN branchname HEADING 'Branch Name'
COLUMN "Revenue" HEADING 'Rental Revenue' FORMAT $99,999

select null dummy,
       a.branchname,
       count(c.rentalid) "Number of Rentals",
       SUM(d.totalcostofrent) "Revenue"
from   branch a
 inner join branchstaffrole b on a.branchid = b.branchid
 inner join rental c on b.staffid = c.branchstaffid
 inner join rentaltool d on c.rentalid = d.rentalid
where  to_char(d.DATEOUT, 'YYYY') = '&Year'
group  by a.branchname
order  by 4 DESC;


Branch Name          Number of Rentals Rental Revenue
-------------------- ----------------- --------------
Lichfield                            2           $120
Stoke-on-Trent                       3           $140
Birmingham                           3           $155
Stafford                             3           $225

我希望它看起来像这样:

Branch Name          Number of Rentals Rental Revenue
-------------------- ----------------- --------------
Lichfield                            2           $120
Stoke-on-Trent                       3           $140
Birmingham                           3           $155
Stafford                             3           $225
                                                 ____
Sum                                              $640

如有任何建议,我们将不胜感激!

最佳答案

您似乎正在尝试使用 SQL*Plus 命令格式化报告。你真的很接近,只是你有一个列的别名:SUM(d.totalcostofrent)“Revenue”。因此,您还需要在 Compute SQL*Plus 命令中使用该别名:

COMPUTE SUM OF "Revenue" ON DUMMY

这将返回:

Branch Name    Number of Rentals Rental Revenue
-------------- ----------------- --------------
Lichfield                      2           $120
Birmingham                     3           $155
Stoke-on-Trent                 3           $140
Stafford                       3           $225
                                 --------------
                                           $640

您也可以执行相同的操作,排除虚拟列:

COMPUTE SUM OF "Revenue" ON REPORT
BREAK ON REPORT
COLUMN branchname HEADING 'Branch Name'
COLUMN "Revenue" HEADING 'Rental Revenue' FORMAT $99,999

返回结果:

Branch Name    Number of Rentals Rental Revenue
-------------- ----------------- --------------
Lichfield                      2           $120
Birmingham                     3           $155
Stoke-on-Trent                 3           $140
Stafford                       3           $225
                                 --------------
sum                                        $640

关于sql - 如何计算 Oracle SQL 中计数列的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20572082/

相关文章:

sql - 无法将值转换为 float

sql - 使用 in 子句按字段对选择查询

mysql - 如何将文件转换为带有外键的INSERT?

oracle - PL/SQL - 如果表中存在 varchar2 类型则不起作用

mysql - SQL 中 JOIN LEFT 后的 CASE

sql - 在 Oracle 中使用单个更新语句更新两个依赖列

php - 我应该限制连接到数据库的数量吗?

Android db onUpgrade 在 Release模式下不起作用

sql - Ora-04072 : INVALID TRIGGER TYPE

sql - Oracle REGEXP_LIKE 未按预期工作