3
respostas

Listagem Randomica

Através de uma requisição GET, como consigo obter linhas aleatórias do meu banco de dados, no caso o MySQL? E como limitar o número de linhas aleatórias que quero apresentar? Por exemplo: Quero apresentar o cadastro de 3 médicos ou pacientes aleatórios.

3 respostas

João, bom dia.

Não sei se entendi bem ao certo o que você quer, mas vamos lá. Para o metodo GET você tem 3 alternativas,

  1. findAll() com o seu Repository com JPA para buscar todos os medicos
  2. findById(id do medico) com o seu Repository com JPA para buscar todos os medicos.
  3. Fazer uma query com uma consulta personalizada que você quer como por exemplo:
    @Modifying
    @Query("UPDATE Vendas v SET v.valorTotal =:valorTotalNovo WHERE v.id =:idVendas")
    public void updateValorTotalFromVendas(
            @Param("valorTotalNovo") Double valorTotalNovo,
            @Param("idVendas") Long idVendas);

Agora para apresentar apenas o cadastro de 3 médicos, você tem 2 opções que seriam:

  1. Usar paginação, porem ela ainda sim iria retornar todos os medicos, mas você conseguiria deixar 3 medicos por pagina.;
  2. Query personalizada colocando no final da query o LIMIT 3, ou LIMIT numero da linha que você quer que inicie, 3.

Enfim, espero ter ajudado.

Muito obrigado pelo retorno.

Expondo a situação, eu tenho um BD com depoimentos de pessoas referente à um produto. Eu queria saber como faço o select em 3 depoimentos de forma randômica... por exemplo, utilizando a query: select * from table_name order by rand() limit 3;

João,

O que você falou é uma solução viavel do SQL basta apenas você criar uma QUERY no seu repository.