gpt4 book ai didi

用于在 derby 数据库中限制记录组的 sql

转载 作者:行者123 更新时间:2023-12-04 17:11:28 25 4
gpt4 key购买 nike

我只想在 derby 数据库中检索 10 条记录。我一直在寻找教程:

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

我可以先使用 where rownum <= 10 将数据限制为 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

它给出了错误。好像不能 group by当你再次将结果作为内表进行查询时,但derby的要求是使用row_number。首先在内部添加 row_number 并在下一层的 where 中使用它。任何人都可以帮忙吗? Derby 不是支持限制。任何其他方式可以让我先订购 10 条记录?

最佳答案

我一直在研究,我发现这样
通过使用限制在 Derby

FETCH FIRST 10 ROWS ONLY

但是可怜的我在 derby 10.5 中的支持,我正在使用 derby 10.4 捆绑包和 glassfish 2.1
如果我仍在使用 10.4,那么任何人都可以帮助解决这个问题,因为我太害怕迁移了

关于用于在 derby 数据库中限制记录组的 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11324231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com