sql 查询排列第几

原创 2007年09月26日 09:13:00
create table ta(id smallint identity(1,1),name varchar(8),price int) --建表

insert into ta select 'a0',20 union all select 'a1',21 union all select 'a2',12 union all select 'a3',17 union all
select 'a4',22 union all select 'b1',33 union all select 'b3',14 union all select 'c2',46 union all select 'c3',32  --添加data

select * from ta --show data

create procedure t_proc --建存储过程
@flag int
as
if @flag=1
begin    --查询出price最高的一条记录(如46)
select top 1 * from ta order by price desc
end
else if @flag=2
begin    --查询出price第二高的一条记录(如33)
select top 1 * from ta where id not in(select top 1 id from ta order by price desc) order by price desc
end
else if @flag=3
begin    --查询出price排名在第三到第六的记录
select top 4 * from ta where id not in(select top 2 id from ta order by price desc) order by price desc
end
else if @flag=4
begin --查询出price排名在第七到第九的记录
select top 3 * from ta where id not in(select top 6 id from ta order by price desc) order by price desc
end
go

exec t_proc 1 --执行
/*----result (结果)
8c246
*/
exec t_proc 2
/*----result
6b133
*/
exec t_proc 3
/*----result
9c332
5a422
2a121
1a020
*/
exec t_proc 4
/*----result
4a317
7b314
3a212
*/


答者:Hopewell_Go(好的在后頭﹗希望更好﹗﹗) 信誉:100 级别:user2 日期:2006-11-18 8:49:03 id:37894036

id  name price
1   a0    20
2   a1    21
3   a2    12
4   a3    17
5   a4    22
6   b1    33
7   b3    14
8   c2    46
9   c3    32

select *,identity(int,1,1) TID into #table from tableName
order by price

select * from #table这样的虚拟表可以实现你的要求
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

模拟电路答案第几版忘了

  • 2010-03-08 19:28
  • 321KB
  • 下载

nyist 139 我排第几个&&143 第几是谁(康托展开和逆康托展开)

我排第几个 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排...

康托展开式---我排第几+逆康托展开

之前一直不想看这个康托展开定理因为真的很不理解,但是现在还是勇敢的面对了~  {1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个。123 1...

第几是谁?

这一个题目涉及到的算法是:逆康托展开 第几是谁? 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有"abcdefghijkl”12个...

互联网大厂校招前端面试考点分享,你能答到第几题?

看看能做几题

Android 实战美女拼图游戏 你能坚持到第几关

Android 实战美女拼图游戏 你能坚持到第几关 分类: 【android 进阶之路】 【Android 原生开发游戏】 【Android 自定义控件实战】2014-11-03 09:...
  • anlun
  • anlun
  • 2014-11-18 23:32
  • 353

快速排序及其相关应用(中位数,第几大数等等)

快速排序及其相关应用(中位数,第几大数等等) 为何称其快速排序,理由很简单,只因为其平均速度是所有排序中最快的。先给下快速排序的代码。 int partition(int* R,int low ,...

数据库:怎样判断关系是第几范式~~看完懂了~~

数据库范式1NF 2NF 3NF BCNF(实例)  设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范...

Android 实战美女拼图游戏 你能坚持到第几关

1、概述 继2048之后,今天给大家带来一个拼图游戏,当然了不是很传统那个缺一块的拼图,那游戏我不会玩~~所有我们换个方式玩拼图,怎么玩呢,把图片且成很多份,点击交换拼成一张完整的;这样关卡也很...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)