首页 > 数据库 >Sql Server:分页

Sql Server:分页

时间:2023-04-21 17:36:32浏览次数:52  
标签:分页 pageSize -- top sql Server Sql where select



SQL:

select astart,avg(aid) a from air group by astart
select dateadd(yy,1, '2008-9-10')//2009-09-10 00:00:00.000
select len('我们快放假了.') a//7
select lower('Beautiful')//upper
select round(13.4321,2)//13.4300
select round(13.4567,-1)//10.0000
Select dateAdd(dd,-1,getdate())//一天前

 

sql函数:

select distinct aend from air--distinct 去掉重复值

select getdate()--获取系统的当前时间

select YEAR('2009-09-01') --获取年份

select MONTH('2009-08-15')--获取月份

select DAY('2009-09-12')--获取日期
select right('abcd',3)--从右开始往左截取几个
select left('abcd',3)--从左开始往右截取几个
select datalength('好好学习')--返回字节的个数//8

分页:

--pageSize  每页显示多少
--pageIndex  页码
--i=(@pageIndex-1)*@pageSize
--(1-1)*2=0
--(2-1)*2=2
--(3-1)*2=4
--(4-1)*2=6
-- (页码-1)*每页显示多少=里面top
select  top 2--pageSize
 * from air where aid not in(
select  top 6 --i
aid from air order by aid  asc) 
 order by aid asc

 

模糊分页:

--pageSize  每页显示多少
--pageIndex  页码
--i=(@pageIndex-1)*@pageSize
--(1-1)*2=0
--(2-1)*2=2
--(3-1)*2=4
--(4-1)*2=6
-- (页码-1)*每页显示多少=里面top
select  top 2--pageSize
 * from myuser where hid not in(
select  top 0 --i
hid from myuser where hname like '%地%'
union
select hid from myuser where hname not like '%地%'
) 


 order by hid asc
 
 
 select * from myuser where hname like '%地%'

存储过程分页:

create procedure fy @pageSize int,@pageIndex int
--pageSize  每页显示多少
--pageIndex  页码
as
declare @i int
set @i=(@pageIndex-1)*@pageSize
declare @sql varchar(999)
set @sql='select  top '+cast(@pageSize as varchar)+' * from 
stuInfo where stuNo not in
(
	select  top '+cast(@i as varchar)+' stuno from 
	stuInfo order by stuSeat asc
)  order by stuseat asc'
exec(@sql)


exec fy 3,3
--            显示第几页    每页显示多少条
--第一页     里面的top  0   外面的top 2
--第二页     里面的top  2   外面的top 2
--第三页     里面的top  4   外面的top 2
--第四页     里面的top  6   外面的top 2
--假设传递一个参数(每页显示多少条)
(1-1)*4=0
(2-1)*4=4
(3-1)*3=6
(4-1)*2=6
 (页码-1)*每页的条目数=里面的top

java:

package com.dao;

import java.sql.Connection;

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

import com.entity.User;
import com.util.DBhelper;

public class Dao {

	public int getMax(String str){
		int nn=0;
		Connection con=null;
		PreparedStatement pre=null;
		ResultSet res=null;
		try {
		con=DBhelper.getCon();
		 String sql="select count(*) from myuser where hname like '%"+str+"%' " ;
			pre=con.prepareStatement(sql);
			res=pre.executeQuery();
		 if (res.next()) {
			nn=res.getInt(1);
		}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally{
			
			DBhelper.myClose(con, pre,res);
		}
		return nn;
		
		
	}
	
	public List<User> GetAll(int index,String str){
		List<User> ml=new ArrayList<User>();
		Connection con=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		int size=2;
		int start=(index-1)*size;
		try {
			con=DBhelper.getCon();
			String sql="select  top 2 * from myuser where hid not in(" +
			"select hid from myuser where hname not like '%"+str+"%' " +
					" union " +
					" select  top "+start+" hid from myuser where hname like '%"+str+"%')";
			ps=con.prepareStatement(sql);
			rs=ps.executeQuery();
			while(rs.next()){
				User n=new User();
				n.setHid(rs.getInt(1));
				n.setHname(rs.getString(2));
				ml.add(n);
			}
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		finally{
			DBhelper.myClose(con, ps, rs);
		}
		return ml;
	}
	
}

 

标签:分页,pageSize,--,top,sql,Server,Sql,where,select
From: https://blog.51cto.com/u_16082902/6213843

相关文章

  • spring boot、cloud -yml:显示/show SQL
    logging:level:com.zking.zkingOAS.FDadmin.mapper:debug在控制台显示业务具体执行的SQL,且有参数说明、有多少数据 application.properties:logging.level.com.wochat.mapper=debug ......
  • hibernate:分页
    intpage=2;//分页页码 intsize=2;//列数 List<User>users=session.createQuery("selectafromUsera") .setFirstResult((page-1)*size)//起始条数startend .setMaxResults(size)//列数 .list(); //select*fromuserlimit0,2起始条数,列数 for......
  • 真的绝了,再次使用两个参数实现sql查询,还是出现了这个错误
    问题描述在sql语句里面使用两个参数进行条件查询,用and连接,但是显示找不到相应参数,也就是无法正确匹配上各自的id参数问题解决解决问题也很简单,就是在sql语句那里,加上@Param进行区分,如图所示:这样,问题就完美解决啦!......
  • MySQL:分页
    SELECT*FROMst_typeLIMIT5前几条数据 SELECT*FROMst_typeLIMIT1,2第几条数据后的多少条数据  第几页 一页多少条 查询第1条到第10条的数据的sql是:select*fromtablelimit0,10;  ->对应我们的需求就是查询第一页的数据:select*fromtablelimit(1-1)*1......
  • Oracle:分页
    SQL: Selectenamefromempwhereenamelike'_M%'第二个字母Selectto_char(sysdate,'yyyy')afromdual//2018selectdeptno,job,avg(sal)fromempgroupbyjob,deptno部门职员平均工资select*fromempdeptselect*fromemp,deptwhereemp.deptno......
  • oracle:触发、分页
    分页解释:intindex=1;intsize=5;intstart=(index-1)*size+1;intend=index*size;--115--2610wheremrbetween6and10select*from(selecta.*,rownummrfromempa)wheremr>=6andmr<=10 触发:createorreplacefunctionf(xnumber)returnnumberi......
  • 开心档之MySQL ALTER命令
    MySQLALTER命令当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQLALTER命令。开始本章教程前让我们先创建一张表,表名为:testalter_tbl。root@host#mysql-uroot-ppassword;Enterpassword:*******mysql>useRUNOOB;Databasechangedmysql>createtable......
  • 开心档之MySQL 管理
    MySQL管理启动及关闭MySQL服务器Windows系统下在Windows系统下,打开命令窗口(cmd),进入MySQL安装目录的bin目录。启动:cdc:/mysql/binmysqld--console关闭:cdc:/mysql/binmysqladmin-urootshutdownLinux系统下首先,我们需要通过以下命令来检查MySQL服务......
  • mySql获取表结构语句
    获取完整表结构:其中,where语句table_name字段的值替换为你的表名,table_schema字段的值替换为你的数据库名。select*frominformation_schema.`COLUMNS`wheretable_name='records'andtable_schema='zc_archives' 获取表结构关键信息:selectordinal_position序号,colum......
  • MySQL Shell 使用报错 SyntaxError: Unexpected identifier
    文章目录一、问题报错二、解决办法一、问题报错MySQLShell8.0.23Copyright(c)2016,2021,Oracleand/oritsaffiliates.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.T......