2014-05-22 60 views

回答

2

類似:

select ... 
from (
    select ..., row_number() over (partition by m.menuid 
            order by ?) as rn 
    from menus m 
    join menuitems mi 
     m.menuid = mi.menuid 
) 
where rn <= 5; 

特勒爾斯阿爾文具有不同DBMS的一個對比:

http://troels.arvin.dk/db/rdbms/ 

除其他事項外配額查詢(如你所要求的)進行了討論

+0

@JunJingZhang你的問題不清楚你想如何確定每個菜單中的「前5名」。通常一個id列是一個生成的代理鍵,而不是一個自然鍵。一個自然鍵可以是表示該行所代表的真實世界屬性或其使用方式的列。在這種情況下,菜單中的序列號就是一個例子。這就是你可能使用「?」的一個例子。在上面。 – WarrenT