當前位置:首頁 » 編程語言 » db分頁查詢sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

db分頁查詢sql

發布時間: 2022-12-30 03:56:47

『壹』 sql Server 分頁 查詢語句

四種方式實現SQLServer 分頁查詢
SQLServer 的數據分頁:
假設現在有這樣的一張表:
CREATE TABLE test
(
id int primary key not null identity,
names varchar(20)
)
然後向裡面插入大約1000條數據,進行分頁測試
假設頁數是10,現在要拿出第5頁的內容,查詢語句如下:
--10代表分頁的大小
select top 10 *
from test
where id not in
(
--40是這么計算出來的:10*(5-1)
select top 40 id from test order by id
)
order by id
原理:需要拿出資料庫的第5頁,就是40-50條記錄。首先拿出資料庫中的前40條記錄的id值,然後再拿出剩餘部分的前10條元素

第二種方法:
還是以上面的結果為例,採用另外的一種方法
--數據的意思和上面提及的一樣
select top 10 *
from test
where id >
(
select isnull(max(id),0)
from
(
select top 40 id from test order by id
) A
)
order by id
原理:先查詢前40條記錄,然後獲得其最id值,如果id值為null的,那麼就返回0
然後查詢id值大於前40條記錄的最大id值的記錄。
這個查詢有一個條件,就是id必須是int類型的。

第三種方法:
select top 10 *
from
(
select row_number() over(order by id) as rownumber,* from test
) A
where rownumber > 40
原理:先把表中的所有數據都按照一個rowNumber進行排序,然後查詢rownuber大於40的前十條記錄
這種方法和oracle中的一種分頁方式類似,不過只支持2005版本以上的
第四種:
存儲過程查詢
創建存儲過程
alter procere pageDemo
@pageSize int,
@page int
AS
declare @temp int
set @temp=@pageSize*(@page - 1)
begin
select top (select @pageSize) * from test where id not in (select top (select @temp) id from test) order by id
end
執行存儲過程
exec 10,5

『貳』 sql資料庫分頁

樓主,剛剛有個問友和你問的差不多,我剛回答了他的。就直接把剛回答的復制給你看看啦。希望對你有幫助、。
要想分頁,首先得做好准備工作。你要先聲明每頁顯示多少條數據,還得獲取當前選擇的是多少頁的頁碼。有了這兩個分頁就好辦了。
sql如下:select top 10 from tableName
where (id not in(select top 20 from tableName order by Id desc)) order by Id desc
分頁需要使用到的一些動態數據如下:
每頁顯示的數量:自己定義。
總頁數:數據總條數/每頁顯示的條數
當前頁碼的計算方法:(頁碼-1)*每頁顯示的數量。比如我要瀏覽第3頁的數據,3從客戶端傳送過來後,在後台對頁碼進行處理:(3-1)*每頁顯示的數量(假如是10).算出來後的結果就是20.你在把20以參數注入的方式動態添加到上面那個20那裡就ok了。

sql中的10表示你每頁顯示的數據,這里跟10,就代表每頁顯示10條。(你可以定義一個常量作為每頁顯示的條數)
where中的20表示不包括前面的20條數據,也就是查詢出從第21條到30之間的數據。
不知道我這樣說你是否理解,其實只要理解了sql語句,分頁就很好做了。

『叄』 SQL Server資料庫用sql語句實現分頁查詢 (從M條數據開始,查找N條記錄。sqlserver資料庫。請舉例說明。)

1:新建一個資料庫
create database 資料庫名
2:新建一個表
create table 表名
(
欄位名 類型 是否為空
)
3:刪除一個表
drop table 表名
4:增加一個記錄
insert 表名 [(欄位)] values ( 內容 )
5:刪除一個記錄
delete [from] 表名 where 條件
6、修改一個記錄
update 表名 set 欄位名=更新內容 where 條件
7、在原表中增加一個欄位
alter table 表名 add column 欄位名 類型
8:在原表中刪除一個欄位
alter table 表名 drop column 欄位名
9、查詢一個表記錄
select * from 表名
10、帶條件查詢一個表記錄
select * from 表名 where =條件

『肆』 使用sql語句實現分頁查詢

使用sql語句在語句末尾添加 limit page,count //意思是 獲取從page+1開始的count條記錄
例如:select * from checkmoney where phonenumber='18209183861' order by check_start_time desc limit 1,5;
這條語句獲取了 checkmoney的第 2條至第6條 記錄。

『伍』 SQL分頁查詢,求高手指點

oracle 的話可以用 rownum
select * from ( 你的語句 ) where rownum <11
select * from ( 你的語句 ) where rownum >10 and rownum < 21

sqlserver的話用 ROW_NUMBER()

『陸』 如何用sql語句 實現分頁查詢

適用於 SQL Server 2000/2005

SELECT TOP 頁大小 *

FROM table1

WHERE id NOT IN

SELECT TOP 頁大小*(頁數-1) id FROM table1 ORDER BY id

『柒』 求一個簡單的SQL分頁語句

1. 查看資料庫的版本

select @@version

2. 查看資料庫所在機器操作系統參數

exec master..xp_msver

3. 查看資料庫啟動的參數

sp_configure

4. 查看資料庫啟動時間

select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1

查看資料庫伺服器名和實例名

print 'Server Name:' + convert(varchar(30),@@SERVERNAME)

print 'Instance:' + convert(varchar(30),@@SERVICENAME)

5. 查看所有資料庫名稱及大小

sp_helpdb

重命名資料庫用的SQL

sp_renamedb 'old_dbname', 'new_dbname'

6. 查看所有資料庫用戶登錄信息

sp_helplogins

查看所有資料庫用戶所屬的角色信息

sp_helpsrvrolemember

修復遷移伺服器時孤立用戶時,可以用的fix_orphan_user腳本或者LoneUser過程

更改某個數據對象的用戶屬主

sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'

注意:更改對象名的任一部分都可能破壞腳本和存儲過程。

把一台伺服器上的資料庫用戶登錄信息備份出來可以用add_login_to_aserver腳本

查看某資料庫下,對象級用戶許可權

sp_helprotect

還有很多,這里給你地址:

http://..com/question/40039261.html?si=1

『捌』 怎樣實現資料庫的分頁查詢

針對查詢語句做處理,同時對請求頁面地址做分析
list.aspx?pageid=5 //表示訪問第五頁
後台語言里,先對查詢條件做預處理
pagepre=pagesize*4 //pagesize 用於表示分頁大小,例如10,則前4頁共有40條記錄
查詢語句
sqlcmd="select top "+pagesize+" from tabelname where id not in (select top "+pagepre+" from tablename order by id desc)"
操作原理為將當前頁前顯示的所有記錄從數據查詢結果中排除,也就是not in 後面的部分,然後從剩餘的結果沖,讀取pagesize大小的記錄值。篩選條件、排序條件放在子查詢中

『玖』 求教db2中的sql語句,關於分頁查詢,查詢從第

一、查詢指定模式下的所有表
db2 LIST TABLES FOR SCHEMA 模式名

二、查詢當前模式下所有表及信息
db2 select tabname from syscat.tables where tabschema = CURRENT SCHEMA

三、查詢當前模式下所有的表
db2 LIST TABLES FOR ALL

四、查詢指定表名的表
db2 select * from syscat.tables where TABNAME = '表名'(表名必須大寫,不加模式,原因是TABNAME是syscat.tables中的一個欄位,TABSCHEMA模式是另一個欄位,兩者唯一確定一張表)

希望這些可以給你幫助

『拾』 java db 的分頁sql語句,有誰知道

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class goodsBeanC {
//定義資料庫變了
private ResultSet rs=null;
private PreparedStatement ps=null;
private Connection con=null;
private int pageSize = 6; //定義分頁大小
private int rowCount = 0; //記錄總數
private int pageCount = 0; //得到分頁的頁數
/**
* @param pageSize 每個分頁的頁面大小
* @param rowCount 資料庫中記錄的總數
* @param pageCount 得到可以分頁的頁數
* @return pageCount 分頁的頁數
*/
public int getPageCount(){
//得到資料庫連接
con=new ConDB().getCon();
try {
//獲取資料庫中符合條件的記錄的總數
ps=con.prepareStatement("select count(*) from goods");
rs=ps.executeQuery();
while(rs.next()){
rowCount=rs.getInt(1);
}
//計算可以分的頁數
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=(rowCount/pageSize)+1;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.close();
}
return pageCount;
}
/**
*
* @param goodsId 貨物編號
* @return gb(goodsBean) 得到封裝的貨物信息
*/
public goodsBean getGoodsBean(String goodsId){
goodsBean gb=new goodsBean();
try {
con=new ConDB().getCon();
ps=con.prepareStatement("select * from goods where goodsId=?");
ps.setString(1, goodsId);
rs=ps.executeQuery();
while(rs.next()){
gb.setGoodsId(Integer.parseInt(rs.getString(1)));
gb.setGoodsName(rs.getString(2));
gb.setGoodsIntro(rs.getString(3));
gb.setGoodsPrice(rs.getFloat(4));
gb.setGoodsNum(rs.getInt(5));
gb.setPublish(rs.getString(6));
gb.setImages(rs.getString(7));
gb.setType(rs.getString(8));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.close();
}
return gb;
}
/**
*
* @param pageNow 當前頁數
* @return ArrayList 返回的資料庫中的記錄存放在al中
*/
public ArrayList getPageNow(int pageNow){
ArrayList al=new ArrayList();
con=new ConDB().getCon();
try {
ps=con.prepareStatement
("select top " + pageSize
+ " * from goods where goodsId not in(select top "
+ pageSize * (pageNow - 1) + " goodsId from goods)"); //分頁的sql語句
rs=ps.executeQuery();
while(rs.next()){
//將每條結果的每個屬性封裝到gb中
goodsBean gb=new goodsBean();
gb.setGoodsId(Integer.parseInt(rs.getString(1)));
gb.setGoodsName(rs.getString(2));
gb.setGoodsIntro(rs.getString(3));
gb.setGoodsPrice(rs.getFloat(4));
gb.setGoodsNum(rs.getInt(5));
gb.setPublish(rs.getString(6));
gb.setImages(rs.getString(7));
gb.setType(rs.getString(8));
//將gb封裝到ArrayList中
al.add(gb);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.close();
}
return al;
}
/**
* 關閉資料庫連接
*/
public void close() {
try {
if (rs != null)
rs.close();
if (ps != null)
ps.close();
if (con != null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}