我想只在derby数据库中检索十条记录.我一直在搜索教程:
select * from (select ROW_NUMBER() OVER() AS rownum,name,effort from (select name, effort from
(select TBL_PROJECT_DETAIL.P_NAME as Name, sum(TBL_TIMESHEET.EFFORT) as effort from
TBL_TIMESHEET join tbl_project_detail on TBL_TIMESHEET.PROJECT_ID = TBL_PROJECT_DETAIL.ID group by TBL_PROJECT_DETAIL.P_NAME) as New)
as new2)
as new3
where rownum <= 10
Run Code Online (Sandbox Code Playgroud)
我可以通过使用最后的位置将数据限制为10 rownum <= 10 ,但问题是数据不是order by先使用子句排序,所以我得到了10个随机数据.
当我把order by数据放在前面时给出rownum:
select * from (select ROW_NUMBER() OVER() AS rownum,name,effort from
(select name, effort from
(select TBL_PROJECT_DETAIL.P_NAME as Name, sum(TBL_TIMESHEET.EFFORT) as effort from
TBL_TIMESHEET join tbl_project_detail on TBL_TIMESHEET.PROJECT_ID = TBL_PROJECT_DETAIL.ID group by TBL_PROJECT_DETAIL.P_NAME)
as New)
as new2 order by effot desc)
as new3 where rownum <=10
Run Code Online (Sandbox Code Playgroud)
它给出了错误.group by当你把结果作为内部表再次查询时它就像不能,但是derby的要求是使用row_number.首先在内部添加row_number并在下一层中的where中使用它.任何人都可以帮忙吗?德比不是支持限制.我可以通过其他任何方式获得10个记录吗?
rif*_*nan 10
我一直在研究,我发现这样通过使用来限制德比
FETCH FIRST 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)
但糟糕的我支持德比10.5和我正在使用德比10.4捆绑与glassfish 2.1任何人可以帮助这个如果我仍然使用10.4因为我太害怕迁移