博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[DB]mysql 及sql server2005下实现分页效果的sql语句
阅读量:6332 次
发布时间:2019-06-22

本文共 961 字,大约阅读时间需要 3 分钟。

简要做一下总结:

      为实现类似top的功能,我们在SQL Server中和MySQL中使用到的SQL语句是不同的。
      1、在SQL Server中,我们使用  select top N * from tablename来查询tablename表中前N条记录。

根据所给变量的不同还有其他方法(但这里是找出第M+1条记录开始的N条记录)。

      2、在MySQL中,我们则使用select * from tablename limit M,N 来实现相似的效果,其中M表示从第M+1条记录开始,N表示返回N条记录。
      例如:从uses表中取出第四条到第六条这三条记录,我们就可以这样写:
1、select top 3 * from users where userID not in (select top 3 userID from users order by id) order by id
2、select * from users limit 3,3

在项目中出现的:

// 将SQL语句转换为特定数据库的定位行集SQL语句

int startRow = (page - 1) * getRowsPerPage() + 1;

int rows = this.getRowsPerPage();

1。String pageSql = sql + " limit "+(startRow - 1) + ","+rows;

2。String pageSql ="select top "+rows+" * from ("+sql+")a where id not in (select top "+(startRow - 1)+" id from ("+sql+")a order by id) order by id";

select top 10 * from (SELECT * FROM tablename)a where id not in (select top 0 id from (SELECT * FROM tablename)a order by id) order by id

转载于:https://www.cnblogs.com/wanping/archive/2013/01/18/2867001.html

你可能感兴趣的文章
Android Picasso
查看>>
top命令
查看>>
javascript的作用域
查看>>
新形势下初创B2B行业网站如何经营
查看>>
初心大陆-----python宝典 第五章之列表
查看>>
java基础学习2
查看>>
sysbench使用笔记
查看>>
有关电子商务信息的介绍
查看>>
NFC·(近距离无线通讯技术)
查看>>
多线程基础(三)NSThread基础
查看>>
PHP的学习--Traits新特性
查看>>
ubuntu下,py2,py3共存,/usr/bin/python: No module named virtualenvwrapper错误解决方法
查看>>
Ext.form.field.Number numberfield
查看>>
Linux文件夹分析
查看>>
解决部分月份绩效无法显示的问题:timestamp\union al\autocommit等的用法
查看>>
nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转
查看>>
man openstack >>1.txt
查看>>
linux几大服务器版本大比拼
查看>>
在BT5系统中安装postgresQL
查看>>
Can't connect to MySQL server on 'localhost'
查看>>