Heim >Datenbank >MySQL-Tutorial >Oracle 返回偶数个数据行

Oracle 返回偶数个数据行

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:16:091401Durchsuche

查询Oracle表中的数据个数为奇数个时,自动加一个空白行,返回偶数个数据;如果表中的数据为偶数个时,直接返回偶数的所有行。

要求:

查询Oracle表中的数据个数为奇数个时,自动加一个空白行,返回偶数个数据;如果表中的数据为偶数个时,直接返回偶数的所有行。

一、在数据库中,,新建一个表,如下:

  • (  
  •   MONTHS NUMBER  
  • )  
  • create table MONTHSNUM ( MONTHS NUMBER )二、新增一行数据;

  • insert into monthsnum values(1);

    三、执行SQL:

  • select *  
  • select * from (select aa.*, mod(bb.countnum, 2) num from (select a.*, rownum rownum2 from (select rownum rownum1, t.months from monthsnum t union select to_number('') rownum1, to_number('') months from dual) a) aa, (select count(*) + 1 countnum from monthsnum t) bb order by aa.rownum2) where rownum 返回结果:

    说明:如果数据行数为奇数时,补一个空白行,使其为行数为偶数。

    四、再新增一行数据;

  • insert into monthsnum values(2);

    五、再执行第三步的SQL

    返回结果:

    说明:如果数据行数为偶数时,直接返回数据行的所有数据。

    linux

  • Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn