[DB]mysql 及sql server2005下实现分页效果的sql语句
簡(jiǎn)要做一下總結(jié):
????? 為實(shí)現(xiàn)類(lèi)似top的功能,我們?cè)赟QL Server中和MySQL中使用到的SQL語(yǔ)句是不同的。
????? 1、在SQL Server中,我們使用? select top N * from tablename來(lái)查詢(xún)tablename表中前N條記錄。
根據(jù)所給變量的不同還有其他方法(但這里是找出第M+1條記錄開(kāi)始的N條記錄)。
????? 2、在MySQL中,我們則使用select * from tablename limit M,N 來(lái)實(shí)現(xiàn)相似的效果,其中M表示從第M+1條記錄開(kāi)始,N表示返回N條記錄。
????? 例如:從uses表中取出第四條到第六條這三條記錄,我們就可以這樣寫(xiě):
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
在項(xiàng)目中出現(xiàn)的:
// 將SQL語(yǔ)句轉(zhuǎn)換為特定數(shù)據(jù)庫(kù)的定位行集SQL語(yǔ)句
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
轉(zhuǎn)載于:https://www.cnblogs.com/wanping/archive/2013/01/18/2867001.html
總結(jié)
以上是生活随笔為你收集整理的[DB]mysql 及sql server2005下实现分页效果的sql语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 梦到吃莲子是什么意思
- 下一篇: mysql_load