问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

发布网友 发布时间:2022-04-08 23:19

我来回答

2个回答

懂视网 时间:2022-04-09 03:40

sql server方案1:

      select top 10 * from t where id not in (select top 30 id from t order by id ) orde by id

sql server方案2:

      select top 10 * from t where id in (select top 40 id from t order by id) order by id desc

 

mysql方案:select * from t order by id limit 30,10

 

oracle方案:select * from (select rownum r,* from t where r<=40) where r>30

 

--------------------待整理进去的内容-------------------------------------

pageSize=20;

pageNo = 5;

 

1.分页技术1(直接利用sql语句进行分页,效率最高和最推荐的)

 

mysql:sql = "select * from articles limit " + (pageNo-1)*pageSize + "," + pageSize;

oracle: sql = "select * from " +

                                                "(select rownum r,* from " +

                                                      "(select * from articles order by postime desc)" +

                                                "where rownum<= " + pageNo*pageSize +") tmp " +

                                          "where r>" + (pageNo-1)*pageSize;

注释:第7行保证rownum的顺序是确定的,因为oracle的索引会造成rownum返回不同的值

简洋提示:没有order by时,rownum按顺序输出,一旦有了order by,rownum不按顺序输出了,这说明rownum是排序前的编号。如果对order by从句中的字段建立了索引,那么,rownum也是按顺序输出的,因为这时候生成原始的查询结果集时会参照索引表的顺序来构建。

 

sqlserver:sql = "select top 10 * from id not id(select top " + (pageNo-1)*pageSize + "id from articles)"

 

DataSource ds = new InitialContext().lookup(jndiurl);

Connection cn = ds.getConnection();

//"select * from user where id=?"  --->binary directive

PreparedStatement pstmt = cn.prepareSatement(sql);

ResultSet rs = pstmt.executeQuery()

while(rs.next())

{

      out.println(rs.getString(1));

}

 

2.不可滚动的游标

pageSize=20;

pageNo = 5;

cn = null

stmt = null;

rs = null;

try

{

sqlserver:sql = "select  * from articles";

 

DataSource ds = new InitialContext().lookup(jndiurl);

Connection cn = ds.getConnection();

//"select * from user where id=?"  --->binary directive

PreparedStatement pstmt = cn.prepareSatement(sql);

ResultSet rs = pstmt.executeQuery()

for(int j=0;j<(pageNo-1)*pageSize;j++)

{

      rs.next();

}

 

int i=0;

 

while(rs.next() && i<10)

{

      i++;

      out.println(rs.getString(1));

}

}

cacth(){}

finnaly

{

      if(rs!=null)try{rs.close();}catch(Exception e){}

      if(stm.........

      if(cn............

}

 

3.可滚动的游标

pageSize=20;

pageNo = 5;

cn = null

stmt = null;

rs = null;

try

{

sqlserver:sql = "select  * from articles";

 

DataSource ds = new InitialContext().lookup(jndiurl);

Connection cn = ds.getConnection();

//"select * from user where id=?"  --->binary directive

PreparedStatement pstmt = cn.prepareSatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,...);

//根据上面这行代码的异常SQLFeatureNotSupportedException,就可判断驱动是否支持可滚动游标

 

ResultSet rs = pstmt.executeQuery()

rs.absolute((pageNo-1)*pageSize)

int i=0;

while(rs.next() && i<10)

{

      i++;

      out.println(rs.getString(1));

}

}

cacth(){}

finnaly

{

      if(rs!=null)try{rs.close();}catch(Exception e){}

      if(stm.........

      if(cn............

}

分页语句-取出sql表中第31到40的记录(以自动增长ID为主键)

标签:

热心网友 时间:2022-04-09 00:48

即然ID是不连续的,那么再创建一个类似ID的连续值字段[CNTS]

select *
from
(
    -- 生成一个带有连续值字段的表
    select *
        ,cnts=(select count(0) from tableA where id <=x.id)
    from tableA x
) a1
-- 查询 31-40 之间的数据
where cnts between 31 and 40

追问非常感谢您的回答,但是我想问的是解2中as A看不懂

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
婴儿用什么做枕头好 宝宝枕什么枕头比较好 婴儿使用什么枕头 新生儿用枕头用什么牌子好 婴儿枕头用什么做好 用什么做婴儿枕头最好 长白山在哪个城市 长白山地理位置 100%山羊绒毛衣可以水洗吗 山羊绒毛衣怎么洗怎么洗山羊绒毛衣 专升本怎么能升一个好二本? 空仆是坑人的吗- 问一问 风吹着头发的动漫头像,要男生的 空仆怎么发 a7+银行卡交易限制 求著名卡通人物们的头像及名字。 空扑怎么打不开 怎么用哑铃练引体向上 一名女生想用男老师的照片做微信头像应该怎样给男老师说? 引体向上和哑铃哪个更有效的练出背阔肌? 京东工银小白充值显示交易受限,详情请咨询发卡行是什么意思 引体向上和哑铃哪个练力量更好? 哑铃对引体向上有帮助吗? 练哑铃对引体向上有没有帮助? 求学生会宿管部副部长的竞聘演讲稿 我是我们学校公寓生活服务部的成员,现在我们部门要选一个人当副*,我想参加竞选,急需一演讲稿! 急需进大学学生会宿管部的演讲稿,演讲不超过三分钟,谢谢 j进学生会宿管部申请书 五年级作文、四百字、、我家前那棵树全国获奖 求学生会宿管部副*的申请书及演讲稿,急,急,急!!!好的有加分。 快去澳洲了,澳洲有动漫周边店吗 我用excel记账,怎么根据数据绘制柱状图,折线图,饼图呢? 运用excel软件可以制作柱形图、折线图、饼形图等。对还是错 求一个动漫的男头像 单人 黑白 正面 模糊的边角 平头 西装 233333333 广本雅阁车怎么调时间 黄瓜有助于通便吗? 黄瓜可以通便吗 求*艺术设计和北京交通大学美术类近年考题,附上高分卷最好,没分了,谢谢啊 C#怎样实现报表的柱状图,饼状图,折线图 空仆怎么发 黄瓜能治便秘吗? 家里的黄瓜是润肠通便的食物吗 缤智保养里程怎么设置 黄瓜通便 黄瓜怎么吃可以通便 本田缤智自动档车正确起步方法是什么? 吃黄瓜能不能通便排毒去火 黄瓜是一种非常受欢迎的水果和蔬菜,那它有什么搭配禁忌呢? 多玩我的世界盒子怎么看方块层数 吃黄瓜治疗便秘么? 吃黄瓜可对便秘者有好处吗
  • 焦点

最新推荐

猜你喜欢

热门推荐