有一个字段存在重复,查询出所有字段,但重复的只查出一条
select s.*
from (select t.*,
row_number() over(partition by hold3 order by id) as group_idx
from vw_pay_voucher t) s
where s.group_idx = 1
比如hold3字段有4条公务卡信息,如果不加where s.group_idx = 1
就会查出来4条,group_idx
分别是1,2,3,4
查询表中是否存在某条记录
select 1 from table_name where ...
如果有多条满足条件的记录,就显示多行1
查询前100条记录
select * from pay_voucher where rownum <= 100;
查询序号在100到110之间的数据
select p.r, p.*
from (select rownum r, pvb.*
from pay_voucher_bill pvb
where rownum <= 110) p
where p.r >= 100
and p.r <= 110;
错误的写法
select p.r, p.*
from (select rownum r, pvb.*
from pay_voucher_bill pvb
where r <= 110) p
where p.r >= 100
and p.r <= 110;