=========================================================================循环排序查询数据=============================================================

这个写的是个函数,以便存储过程中调用!
USE [数据库名称]
GO
/****** Object: UserDefinedFunction [dbo].[GetServer] Script Date: 05/22/2014 17:31:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[GetServer]
()
RETURNS int

AS
BEGIN
declare @count int;--查询表中数据
declare @number int;--循环条件
declare @id int;---表ID

declare @capbility int;
declare @existnumber int;

select @count=count(*) from serverlist;
if(@count is not null and @count<>0)----如果表中有数据才可以进行循环
begin
set @number=0;
while @number <@count
begin
select @number = @number +1;----每循环一次循环条件+1
---将表按照循序进行排序,然后每次查询排序字段
select @id =hh.id,@capbility=hh.capbility, @existnumber=hh.existnumber
from (select ROW_NUMBER() over (order by id) 'rowindex',* from serverlist)hh where hh.rowindex = @number;
if(@existnumber<@capbility)
begin
return @id;
break;
end
end
end
return 0;---如果条件不符合将其返回0
END
=========================================================================循环排序查询数据结束================================================================

sql 循环表中记录的更多相关文章

  1. SQL 把表中字段存储的逗号隔开内容转换成列表形式

    原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ...

  2. 在一个SQL Server表中的多个列找出最大值

    在一个SQL Server表中一行的多个列找出最大值 有时候我们需要从多个相同的列里(这些列的数据类型相同)找出最大的那个值,并显示 这里给出一个例子 IF (OBJECT_ID('tempdb..# ...

  3. sql一个表中两个字段合并求和

    sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total  from TABLE

  4. SQL server 表中如何创建索引?

    SQL server 表中如何创建索引?看个示例,你就会了 use master goif db_id(N'zhangxu')is not nulldrop database zhangxugocre ...

  5. NSIS:在注册表中记录安装路径以便重装或升级时读取

    原文 NSIS:在注册表中记录安装路径以便重装或升级时读取 在NSIS中,这个功能是非常有用的,可以避免用户把程序安装到多个位置的尴尬. 第1步:在“安装目录选择页面”前面加入以下代码: 1 !def ...

  6. oracle数据库误删的表以及表中记录的恢复

    oracle数据库误删的表以及表中记录的恢复 一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: --1.从flash bac ...

  7. sqlserver 表中记录生成insert,可以加条件,可以生成建表语句

    sqlserver 表中记录生成insert,可以加条件,可以生成建表语句 create PROCEDURE [sp_getinsert] ( ) , --如果非默认架构,可以加上架构名 例如:sch ...

  8. SQL将一个表中的某一列值全部插入到另一个表中

    1.  SQL将一个表中的某一列值全部插入到另一个表中 插入的话: insert into a(col) select col from b; 更新的话: update a set col=selec ...

  9. sql将一个表中的数据插入到另一个表中

    sql将一个表中的数据插入到另一个表中 列名不一定要相同,只要你在HH中列出要插入列的列表跟select   from   mm表中的选择的列的列表一一对应就可以了,当然两边的数据类型应该是兼容的.  ...

随机推荐

  1. MyEclipse 注释乱码问题

    解决MyEclipse 中 import项目,注释是乱码问题:

  2. 检查linux网络的状况

    http://hi.baidu.com/dr_wang/blog/item/2952f7458659c306cefca3cc.html

  3. MongoDB - 内嵌角色

    数据库用户角色(每个数据库都有的角色)   角色名 说明 read 对non-system集合的读取权限,以及以下system集合的读取权限:system.indexes,system.js,syst ...

  4. 冻结 锁定 固定 行 列 表头 抬头 html table jquery 全兼容常见浏览器

    转:http://www.cnblogs.com/sorex/archive/2011/06/30/2093499.html <!DOCTYPE html PUBLIC "-//W3C ...

  5. Atitit.php  nginx页面空白 并返回500的解决

    Atitit.php  nginx页面空白 并返回500的解决 1.1. 空白问题起源1 1.2. Php.ini 开启display_err1 1.3. 修改www.conf ,并重启动.重启php ...

  6. layui点击table表格的每一格时显示相应的内容

    $(document).on('click','.layui-table-cell',function(){ // $("p").css({"background-col ...

  7. JavaScript学习日志(2)

    javascript数据类型: 字符串string.数字number.未定义Undefined.空Null.布尔Boolean.数组Array.对象Object.javascript对象: 对象由花括 ...

  8. VMware12环境下安装CentOS7的vmware-tools

    一.最小化安装 1.进入系统之后,要配置network网络. 首先ping www.baidu.com     (Ctrl+z    推出正在执行的命令) 如果ping不通,则修改: vi /etc/ ...

  9. iOS开发中如遇到频繁的Http请求,取消之前已经发送的Http

    主要精髓在于 第一点:不要initialize a new AFHTTPSessionManager object everytime 一定要把manager用成全局的 第二点:把请求返回的task对 ...

  10. spring-core依赖jar包