如何选择oracle sql中的每一行

时间:2016-02-28 15:36:10

标签: sql oracle select

我想在Oracle中选择每一行。

我的编码是L select * from people where count(peopleid) mod 2=0;,但它可以工作。

2 个答案:

答案 0 :(得分:1)

试试这种方式

Select * From
(select * from people) where ROWNUM % 2=0

答案 1 :(得分:1)

没有“每隔一行”这样的东西,因为SQL表代表无序集。如果您有一个指定排序的列,例如peopleid,那么您可以使用row_number()

select p.*
from (select p.*, row_number() over (order by peopleid) as seqnum
      from people p
     ) p
where mod(seqnum, 2) = 0;

编辑:

你可以用rownum做同样的事情,但它需要进入子查询:

select p.*
from (select p.*, rownum as seqnum
      from people p
      order by orderid
     ) p
where mod(seqnum, 2) = 0;

order by是可选的,但可以在没有它的情况下以任何顺序评估行。