Làm cách nào để ghi truy vấn bằng các chức năng cửa sổ và chọn tất cả các trường trong QueryDSL? Trong các tài liệu có là một ví dụ như thế này:QueryDSL Các chức năng cửa sổ
query.from(employee)
.list(SQLExpressions.rowNumber()
.over()
.partitionBy(employee.name)
.orderBy(employee.id));
nhưng tôi cần phải tạo ra một truy vấn như:
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
Và là nó có thể làm điều đó với JPAQuery?
Và cách thực hiện với SQLQuery? – matteobarbieri
Đối với SQLQuery, cách tốt nhất là làm như vậy, vì việc xử lý giới hạn/bù đắp được ánh xạ nội bộ vào chức năng phân trang do công cụ SQL cung cấp. –
Ok cảm ơn. Trên thực tế trong mã của tôi, tôi cần xếp hạng và không được xếp hạng, vì vậy giới hạn sẽ không hoạt động. Có cách nào để tạo truy vấn giống như truy vấn tôi đã đăng không? – matteobarbieri