首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

top语句的有关问题

2012-01-07 
top语句的问题id---1224479我要实现下列要求:返回前两条记录,因为有两个2所以要返回1,2,2返回后两条记录,

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

热点排行