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