如何使用窗口函數編寫查詢並選擇QueryDSL中的所有字段? 在文檔有這樣一個例子:QueryDSL窗口函數
query.from(employee)
.list(SQLExpressions.rowNumber()
.over()
.partitionBy(employee.name)
.orderBy(employee.id));
,但我需要生成像查詢:
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
,並有可能與JPAQuery辦呢?
而如何用SQLQuery做到這一點? – matteobarbieri
對於SQLQuery,最好也這樣做,因爲限制/偏移量處理內部映射到由SQL引擎提供的分頁功能。 –
好的謝謝。實際上,在我的代碼中,我需要排名而不是排名,所以限制是行不通的。有沒有辦法產生一個像我發佈的查詢? – matteobarbieri