1
resposta

Listar ultimos 10 itens de uma consulta

E se um funcionario tivesse tido uns 8 aumentos salariais e eu quero entao listar os salarios deste funcionario sendo apenas os 3 ultimos? como ficaria a query?

1 resposta

Olá Reliquias,

Para listar apenas os 3 últimos salários de um funcionário, você pode utilizar a cláusula "ORDER BY" para ordenar os salários em ordem decrescente e a cláusula "LIMIT" para limitar a quantidade de resultados retornados pela consulta. A consulta SQL ficaria assim:

SELECT salario FROM tabela_salarios WHERE id_funcionario = X ORDER BY data DESC LIMIT 3

Onde "X" é o ID do funcionário que você deseja consultar os salários.

No Spring Data JPA, você pode utilizar a anotação @Query para escrever a consulta personalizada. Ficaria assim:

@Query("SELECT s.salario FROM Salario s WHERE s.funcionario.id = :idFuncionario ORDER BY s.data DESC")
List<Double> findUltimosTresSalarios(@Param("idFuncionario") Long idFuncionario, Pageable pageable);

Neste exemplo, a consulta retorna uma lista com os 3 últimos salários do funcionário com o ID informado. A anotação @Param é utilizada para informar o valor do parâmetro idFuncionario.

Espero ter ajudado e bons estudos!