如何计算结果行数plsql

我已经在PL SQL中创建了此查询,在这里我必须检查一次操作需要花费多少时间。

set line 2222
set pages 0
set feedback off
col EVENT for a35
col SQL_ID for a13
col ET for 9999
col mymac for a15
col username for a12
SELECT MAX(a.last_call_et)
FROM gv\\$session a,gv\\$sqlarea c
where c.address= a.sql_address
and c.hash_value = a.sql_hash_value
and a.username='XXXX'
and a.last_call_et>600 
order by a.last_call_et;

我想以某种方式修改此查询,以显示从结果中获得多少行。例如,如果我的查询结果将有两行,我想显示“ 2”

roger2009gao 回答:如何计算结果行数plsql

我认为您可以将count聚合函数与现有的max聚合函数一起使用,如下所示:

SELECT MAX(a.last_call_et),count(1) as total_rows --<-- this
FROM gv\\$session a,gv\\$sqlarea c
where c.address= a.sql_address
and c.hash_value = a.sql_hash_value
and a.username='XXXX'
and a.last_call_et>600 
-- order by a.last_call_et; this order by is of no use

干杯!

,

由于它是SQL * Plus,因此只需进行一点格式化即可。例如:

SQL> break on report
SQL> compute count of ename on report
SQL>
SQL> select ename from emp where deptno = 10;

ENAME
----------
CLARK
KING
MILLER
----------
         3

SQL>
本文链接:https://www.f2er.com/3035920.html

大家都在问