oracle中rownum,sql server中top函式,mysql中limit[轉載]
Sql server:
//前5行
select top 5 * from table
//查詢第11行到第20行記錄
select top 10 * from [表名] where [主鍵] not in (select top 10 [主鍵] from [表名] order by
[排序欄位及排序方法]) order by [排序欄位及排序方法]
oracle:
//前5行
select * from table where rownum <= 5;
//第5到10行
select * from table where rownum<10
minus
select * from table where rownum<4;
類似可以實現分頁功能
以前經常用這種方法:
select * from (select rownum rn,title,id from CMS_ARTICLE where DISPLAY_PLACE in(0,2) and STATE=1 and CATEGORY_ID = 169) t
where t.rn>16 and t.rn<20
MySQL
實現Top N及M至N段的記錄查詢
我們可以利用MySQL中Select支援的一個子句——LIMIT——來完成這項功能。
LIMIT可以實現top N查詢,也可以實現M至N(某一段)的記錄查詢,具體語法如下:
Select * FROM MYTABLE
orDER BY AFIELD
LIMIT offset, recnum
其中offset為從第幾條(M+1)記錄開始,recnum為返回的記錄條數。例:
select * from mytable
order by afield
limit 2, 5
即意為從第3條記錄開始的5條記錄。
//前5行
select top 5 * from table
//查詢第11行到第20行記錄
select top 10 * from [表名] where [主鍵] not in (select top 10 [主鍵] from [表名] order by
[排序欄位及排序方法]) order by [排序欄位及排序方法]
oracle:
//前5行
select * from table where rownum <= 5;
//第5到10行
select * from table where rownum<10
minus
select * from table where rownum<4;
類似可以實現分頁功能
以前經常用這種方法:
select * from (select rownum rn,title,id from CMS_ARTICLE where DISPLAY_PLACE in(0,2) and STATE=1 and CATEGORY_ID = 169) t
where t.rn>16 and t.rn<20
MySQL
實現Top N及M至N段的記錄查詢
我們可以利用MySQL中Select支援的一個子句——LIMIT——來完成這項功能。
LIMIT可以實現top N查詢,也可以實現M至N(某一段)的記錄查詢,具體語法如下:
Select * FROM MYTABLE
orDER BY AFIELD
LIMIT offset, recnum
其中offset為從第幾條(M+1)記錄開始,recnum為返回的記錄條數。例:
select * from mytable
order by afield
limit 2, 5
即意為從第3條記錄開始的5條記錄。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7718881/viewspace-691860/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 中ROWNUM(偽列)用法解析(轉載)Oracle
- ORACLE 中ROWNUM用法總結! (轉)Oracle
- [zt] 利用 SQL Server 中的 Linked Server 執行 Oracle 中之預儲函式、程式SQLServerOracle函式
- Oracle中的rownumOracle
- SQL-Server中datepart函式的使用SQLServer函式
- Sql server 2005遷移至Oracle系列之三:在Oracle中建立sql中的常見函式SQLServerOracle函式
- 一個SQL Server中的FormatDatetime函式SQLServerORM函式
- 【 Oracle中rownum的用法 】Oracle
- MySQL中limit的用法MySqlMIT
- 轉:類似SQL中的split函式SQL函式
- Oracle中的Rownum 欄位Oracle
- ORACLE 中ROWNUM用法總結!Oracle
- ORACLE 中ROWNUM用法總結Oracle
- oracle 與 mysql 中的函式總結OracleMySql函式
- sql中limit使用方法SQLMIT
- 如何在SQL Server中實現 Limit m,n 的功能SQLServerMIT
- SQL Server中row_number函式的常見用法SQLServer函式
- SQL中的cast()函式SQLAST函式
- Sql中的getDate()函式SQL函式
- SQL中 CONVERT轉化函式的用法SQL函式
- SQL中CONVERT轉化函式的用法SQL函式
- oracle中進位制轉換函式Oracle函式
- SQL Server 2008中SQL增強之二:Top新用途 (轉)SQLServer
- Oracle中rownum和row_number()Oracle
- MySQL和Oracle中的隱式轉換MySqlOracle
- SQL Server 中ntext, text, image長度計算 - datalength 函式SQLServer函式
- Sql 中的 left 函式、right 函式SQL函式
- Oracle 12c中的SQL/JSON函式OracleSQLJSON函式
- 淺談SQL Server中的事務日誌(轉載)SQLServer
- Mysql與Sql Server DATEDIFF函式MySqlServer函式
- 避免SQL中的函式呼叫SQL函式
- Oracle中自定義函式Oracle函式
- 淺析Oracle(rownum)和Mysql(limit)分頁的區別OracleMySqlMIT
- SQL Server中類似Oracle中before觸發器SQLServerOracle觸發器
- ORACLE_DB2_SQL SERVER_MYSQL中執行os命令OracleDB2ServerMySql
- MySQL中MAX函式如何使用?MySql函式
- mysql中的時間函式MySql函式
- (4)mysql 中的常用函式MySql函式