select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=20) where rm>=10 意思是取第10到20行数据。。分页的话,加上页数及每页记录数。比如 第一页 select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=10*1) where rm>10*(1-1); 第二页 select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=10*2) where rm>10*(2-1); 第三页 select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=10*3) where rm>10*(3-1); 第n页 select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=10*n) where rm>10*(n-1);
oracle不支持TOP,你可以用rownum来实现:select * from bcc where rownum<10;再问一个问题啊 我求一个年份的天数,在一个oracle sql语句里里用了变量,我想用两次这个变量,但是不行代码如下select to_date(&yy||'-01-01','yyyy-mm-dd') - to_date((&yy-1)||'-01-01','yyyy-mm-dd') as days from dual ; 我想让第二个变量用前面的咋办啊?
如何实现分页?sql
能不能再详细说说,A.*,t.* 是什么意思
A和T都是表的别名,.* 表示表中所有列
主要是通过rownum和WHERE条件实现的分页,不清楚的话可以把这段sql分开运行看看结果就可以了
意思是取第10到20行数据。。分页的话,加上页数及每页记录数。比如
第一页
select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=10*1) where rm>10*(1-1);
第二页
select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=10*2) where rm>10*(2-1);
第三页
select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=10*3) where rm>10*(3-1);
第n页
select * from (SELECT bbc.*,rownum rm FROM bcc where rownum<=10*n) where rm>10*(n-1);
我求一个年份的天数,在一个oracle sql语句里里用了变量,我想用两次这个变量,但是不行代码如下select to_date(&yy||'-01-01','yyyy-mm-dd') - to_date((&yy-1)||'-01-01','yyyy-mm-dd') as days from dual ;
我想让第二个变量用前面的咋办啊?
能不能再详细说说,A.*,t.* 是什么意思
A和T都是表的别名,.* 表示表中所有列
主要是通过rownum和WHERE条件实现的分页,不清楚的话可以把这段sql分开运行看看结果就可以了我看懂了,谢谢
再问个问题
里面的变量,如何让后面的使用前面的