读书人

top语句的有关问题

发布时间: 2012-01-07 21:41:55 作者: rapoo

top语句的问题
id
---
1
2
2
4
4
7
9
我要实现下列要求:
返回前两条记录,因为有两个2所以要返回1,2,2
返回后两条记录,因为有两个4所以要返回4,4,7
我现在用top 2 id 实现不了上面的要求,请高手指教我用最简单的语句实现上面的功能--等待中。。。


[解决办法]
Select * From 表 Where id In (Select Distinct TOP 2 id From 表)
[解决办法]
select * from tablename where id in (select top 2 * from (select distinct id from tablename) A)
[解决办法]
Select * From 表 Where id In (Select TOP 2 id From 表 group by id)

Select * From 表 Where id In (Select TOP 2 id From 表 group by id Order By id Desc )

[解决办法]
第一个
select top 2 with ties * from aa
order by id

第二个
select top 2 with ties * from aa
order by id desc

出来是7,4,4
如果要顺序排一下

select * from (select top 2 with ties * from aa
order by id desc) a
order by id

with ties指不去掉并列

[解决办法]
mafgm(雷锋) ( ) 信誉:100 Blog 加为好友 2007-07-13 17:02:41 得分: 0


存储过程的功能分页,第一页4,4,7 第二页 1,2,2


------------
是什需求,存程有?


如果只是查


--建立存程
--得到前
Create ProceDure SP_TEST1
As
Select * From 表 Where id In (Select Distinct TOP 2 id From 表)
GO
--用
EXEC SP_TEST1


--建立存程
--得到前
Create ProceDure SP_TEST2
As
Select * From 表 Where id In (Select Distinct TOP 2 id From 表 Order By id Desc)
GO
--用
EXEC SP_TEST2

读书人网 >SQL Server

热点推荐