当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 查询数据排名情况SQL

MSSQL
SQL注入漏洞全接触--进阶篇(二)
SQL注入漏洞全接触--高级篇(一)
SQL注入漏洞全接触--高级篇(二)
SQL Server补丁安装常见问题
[专题]SQL SERVER实用经验技巧集
防范SQL注入式攻击
Mssql和Mysql的安全性分析
SQL概述及在网络安全中的应用
安全入门:SQL注入漏洞全接触
数据库系统防黑客入侵技术综述
SQL注入奇招致胜 UNION查询轻松免费看电影
看紧你的3306端口,一次通过mysql的入侵
MSSQL db_owner角色注入直接获得系统权限
针对SQL INJECTION的SQL SERVER安全设置初级篇
有孔就入 SQL Injection的深入探讨
SQL注入不完全思路与防注入程序
SQL注入攻击的原理及其防范措施
SQL Server应用程序中的高级SQL注入
数据库下载漏洞攻击技术
SQL注入实战---利用“dbo”获得SQL管理权限和系统权限

MSSQL 中的 查询数据排名情况SQL


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 146 ::
收藏到网摘: n/a

查询数据排名情况SQL

1/准备测试数据

---------------------------------------------------------------------------------
create table t1(
c1 integer,
c2 integer,
c3 integer
);

insert into t1 values(1,2,3)

insert into t1 values(1,8,4)
insert into t1 values(1,4,4)

insert into t1 values(1,4,5)

insert into t1 values(1,5,5)

insert into t1 values(2,2,3)

insert into t1 values(2,8,4)
insert into t1 values(2,4,4)

insert into t1 values(2,4,5)

insert into t1 values(2,5,5)

2/查看排名

---------------------------------------------------------------------------------

A/单记录排名

select c1,c3,
(select count( c3)+1 from t1 a where a.c3>b.c3
and a.c1=b.c1 and a.c1 =1
) order_num
from t1 b
where c1 =1
order by c1,c3

c1 c3 order_num
----------- ----------- ----------------------
1 3 5
1 4 3
1 4 3
1 5 1
1 5 1
B/多记录排名

select c1,c2,c3,
(select count( c3)+1 from t1 a where a.c3>b.c3
and a.c1=b.c1
) order_num
from t1 b
order by c1,c3


c1 c2 c3 order_num
----------- ----------- ----------- ----------------------
1 2 3 5
1 8 4 3
1 4 4 3
1 4 5 1
1 5 5 1
2 2 3 5
2 8 4 3
2 4 4 3
2 4 5 1
2 5 5 1