Sadece derby veritabanında on kayıt almak istiyorum.sql veritabanında limit kayıt grubu için sql
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
Sonunda nereye rownum <= 10
kullanarak 10 birinci veri sınırlayabilir, fakat sorun ben 10 aldım bu yüzden ilk order by
maddesini kullanarak sipariş olmadığını veridir: Bunu yapmak için öğretici arama edilmiştir rastgele veri.
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
Bu hata verdi: Veri rownum
vermeden önce
order by
koyduğunuzda. Sonucu, sorguyu tekrar iç tablo olarak koyduğunuzda,
group by
olamaz, ancak derby gereksinimi row_number işlevini kullanmaktır. Önce row_number'i içeriye ekleyin ve bunu bir sonraki katmanda kullanın. Herhangi biri yardımcı olabilir? Derby destek limiti değildir. Önce sipariş verdiğim başka bir yol var mı?
tam sorgu verebilir –