我希望每个菜单能够返回5个menuitem。 这是表格
menus ------- menuid int() profileName varchar(35) menuitems ----------- itemid int() name varchar(40) menuid int()
我确实在这个线程中看到了MySQL的解决方案 - mySQL Returning the top 5 of each category,寻找类似的DB2解决方案。 任何建议都非常感谢。
答案 0 :(得分: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;
Troels Arvin对不同的DBMS进行了比较:
http://troels.arvin.dk/db/rdbms/
其中包括配额查询(例如你要问的那个)