首页 > 数据库技术 > 详细

sqlserver2000的分页,条件过滤

时间:2014-03-28 22:09:56      阅读:668      评论:0      收藏:0      [点我收藏+]

今天写sqlserver2000的分页,条件过滤时查询了一些博客,找了一些常用的分页的解决方案,

  主要有三中:1. not in

         2. id大于

           3.存储过程

此处我就列举个自己感觉最简单,最容易理解,最好用的方案。也就是not in 

1
2
3
4
5
6
7
8
select top 页容量数  *   from template where id not in (
    select top (页号-1)*页容量 id from template
     where name like ‘%‘+#{name}+‘%‘
     order by id desc
 )
and name like ‘%‘+#{name}+‘%‘
 
 order by id desc

  

bubuko.com,布布扣
    <select id="retrieveTemplatesByPage" parameterType="map" resultType="map">
        select top ${pageSize} id,name,pic from template where id not in ( 
                select top ${noRow} id from template
                <where>
                    <if test="name != null and name != ‘‘ ">
                        name like %+#{name}+%
                    </if>
                </where>
                 order by id desc
         ) 
        <if test="name != null and name != ‘‘ ">
            and name like %+#{name}+%
        </if>
         order by id desc
    </select>
bubuko.com,布布扣

这段代码是在mybatis中写的动态分页语句:

注意点:1.${pageSize},${noRow}  在sqlserver中 top 关键词后不能用 ?占位符,所以不能写#{} ,智能写${}

    2.过滤条件  此处我选择在内层和外层都加上相同的过滤条件,这种感觉比较简单易懂,有点类似oracle的三层分页机制

sqlserver2000的分页,条件过滤,布布扣,bubuko.com

sqlserver2000的分页,条件过滤

原文:http://www.cnblogs.com/xingguangsixian/p/3630843.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!