日期:2014-05-18  浏览次数:20444 次

求助:每类各取前10条解法
各位大大:
现在有一表 t 如下:
id,name,type

现在要取每个type下的前10条,根据name排序
请问要怎么写?


sql下的写法有这样一种:
SQL code
SELECT * FROM 
 (  
   SELECT rid=ROW_NUMBER() OVER(PARTITION BY type  ORDER BY name),*  

    FROM (   SELECT * FROM T ) X   

 ) AS T  

 WHERE rid<=10



那么oracle中要怎么写?sql中还有没有其它写法的呢?
谢谢各位!

------解决方案--------------------
这个要去ORACLE问去.
------解决方案--------------------
你不如去oracle问问啊。
------解决方案--------------------
SQL中写法还是有的,可以利用 in 和 top 等。

至于ORACLE写法要楼主自己去琢磨了。
------解决方案--------------------
探讨
引用:
这个要去ORACLE问去.

谢谢大大,那么请问在sql serv 中还有其它写法吗?谢谢