基于Oracle 指定数据行数查询

适用于报表场景下,数据记录不足但是界面需要展示多于记录数的数据条目;

比如:需要展示15条记录,不足行用空行补充。

具体示例如下:

-- 正常查询的数据
WITH TDATA AS (
      SELECT 11 A,22 B,33 C FROM DUAL 
      UNION ALL
      SELECT 21 A,22 B,23 C FROM DUAL 
 )
 
 SELECT ROWNUM RN, M.*
  FROM (SELECT * FROM TDATA
        UNION ALL
          -- 造出某表的空记录
          SELECT N.* FROM DUAL M LEFT JOIN TDATA N ON 1!=1
          -- 重复行展示
           CONNECT BY ROWNUM < 16) M
 -- 最终行记录限制           
 WHERE ROWNUM < 16;

自己的见解,不足请大神提醒补充。。(∩_∩)。。

猜你喜欢

转载自blog.csdn.net/qq203342824/article/details/107868016