2012-07-04 38 views
5

Tôi muốn lấy mười bản ghi chỉ trong cơ sở dữ liệu derby. Tôi đã được tìm kiếm trên hướng dẫn để thực hiện điều đó:sql cho nhóm bản ghi giới hạn theo cơ sở dữ liệu 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 

tôi có thể giới hạn dữ liệu đến 10 đầu tiên bằng cách sử dụng nơi rownum <= 10 ở cuối, nhưng vấn đề là dữ liệu không được ra lệnh sử dụng order by khoản đầu tiên vì vậy tôi có 10 dữ liệu ngẫu nhiên.

Khi tôi đặt order by trước khi dữ liệu cho 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 

Nó đã lỗi. Giống như của nó không thể group by khi bạn đặt kết quả như bảng bên trong cho truy vấn một lần nữa, nhưng yêu cầu cho derby là sử dụng row_number. Đầu tiên thêm row_number vào bên trong và sử dụng nó ở đâu, trong lớp tiếp theo. Bất kỳ ai có thể giúp đỡ? Derby không phải là giới hạn hỗ trợ. Bất kỳ cách nào khác mà tôi có thể có 10 bản ghi đầu tiên mà tôi đặt hàng?

Trả lời

9

tôi đã nghiên cứu và tôi thấy như này để hạn chế trong trận derby bằng cách sử dụng

FETCH FIRST 10 ROWS ONLY 

nhưng tôi nghèo rằng hỗ trợ trong derby 10.5 và tôi đang sử dụng derby 10.4 bó với glassfish 2.1 bất kỳ ai có thể giúp với điều này nếu tôi vẫn còn sử dụng 10,4 cuz tôi quá sợ cho di chuyển

+1

bạn có thể truy vấn đầy đủ không –

1

Bạn có thể ra lệnh bằng khoản bên "OVER()"

OVER(order by effot desc) AS rownum 
+2

No. Derby không hỗ trợ điều đó: http://db.apache.org/derby/docs/10.7/ref/rreffuncrownumber.html –

+0

Tôi xin lỗi rằng không hoạt động có không hỗ trợ tôi sợ lỗi vẫn còn Tôi là sử dụng derby 10.4 –

Các vấn đề liên quan