如果只有第一条记录和最后一条记录,如何在查询中显示创建的记录数

时间:2021-07-07 13:59:24

标签: sql oracle oracle10g oracle-apex

我有代码可以在第一个和最后一个之间的范围内创建记录。为此,我只需要指定第一条记录和最后一条记录。代码如下:

SELECT    SUBSTR (:P5_FIRST_SEALS, 1, 1) ||
          LPAD(TO_CHAR (  TO_NUMBER (REGEXP_SUBSTR (:P5_FIRST_SEALS, '\d+$')) + level - 1), 8,'0') 
          AS x_SEAL_NUMBER
     FROM dual
 CONNECT BY LEVEL <=
                TO_NUMBER (
                   REGEXP_SUBSTR (:P5_LAST_SEALS, '\d+$'))
             - TO_NUMBER (
                   REGEXP_SUBSTR (:P5_FIRST_SEALS, '\d+$'))
             + 1;

例如,我说第一个数字 A14602157 和最后一个 A14602167。 (10 个条目) 响应查询将是: enter image description here 在我找到需要做的记录后,我在表中写了一个日志,其中指定了第一条记录、最后一条记录和日期。以下是我从日志表中获取数据的方法:

SELECT      FIRST_SEALS,    LAST_SEALS,DATE from SEC_TRANSFER_SEALS 

是否可以以这样的方式进行此查询,即不仅出现范围的第一条和最后一条记录以及添加的记录数? 我希望第二个请求的答案是这样的:

SELECT      FIRST_SEALS,    LAST_SEALS,DATE , count(FIRST_SEALS between LAST_SEALS)  from SEC_TRANSFER_SEALS 

A14602157 , A14602167 , 07-06-21 , 10 

1 个答案:

答案 0 :(得分:0)

您的 Apex 页面上有所有信息(就是 Apex,对吗?),所以只需重复使用它:

SQL> select :P5_FIRST_SEALS   as first_seals,
  2         :P5_LAST_SEALS    as last_seals,
  3         trunc(sysdate)    as datum,
  4         :P5_LAST_SEALS - :P5_FIRST_SEALS + 1  as total_number
  5  from dual;

FIRST_SEALS LAST_SEALS DATUM       TOTAL_NUMBER
----------- ---------- ----------- ------------
          1         10 07-jul-2021           10

SQL>
相关问题