Come posso scrivere una query utilizzando le funzioni della finestra e selezionando tutti i campi in QueryDSL? nella documentazione c'è un esempio come questo:QueryDSL Funzioni della finestra
query.from(employee)
.list(SQLExpressions.rowNumber()
.over()
.partitionBy(employee.name)
.orderBy(employee.id));
ma ho bisogno di generare una query come:
SELECT * FROM
(SELECT employee.name, employee.id, row_number()
over(partition BY employee.name
ORDER BY employee.id)
FROM employee) AS sub
WHERE row_number = 1
Ed è possibile farlo con JPAQuery?
E come farlo con SQLQuery? – matteobarbieri
Per SQLQuery è meglio fare lo stesso, poiché la gestione del limite/offset è mappata internamente alla funzionalità di paging fornita dal motore SQL. –
Ok, grazie. In realtà nel mio codice ho bisogno di un rank e non di un rownumber, quindi il limite non funzionerà. C'è un modo per generare una query come quella che ho postato? – matteobarbieri