zoukankan      html  css  js  c++  java
  • [DB]mysql 及sql server2005下实现分页效果的sql语句

    简要做一下总结:
          为实现类似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

  • 相关阅读:
    mysql_fetch_array()和mysql_fetch_assoc()两个函数的区别
    在vmware workstation7上安装centos5.5的一些问题
    如何在CentOS下安装VMwareTools工具
    ResultSetMetaData类的介绍
    火狐快捷键
    ResultSetMetaData类的介绍
    jstl标签的使用
    e.printStackTrace()介绍
    mysql初学指南
    在SQL server中,怎么区别char跟varchar?
  • 原文地址:https://www.cnblogs.com/wanping/p/2867001.html
Copyright © 2011-2022 走看看