Select randômico em um BD

Pessoal…

estou fazendo uma aplicação de avaliação, onde existe um banco de dados com algumas perguntas e respostas. O aluno deverá responder 20 questões. Tenho que escolher 20 das X existentes e fazer com que outro aluno ao mesmo tempo tb faça a prova, sendo que as perguntas até podem ser iguais, mas em posições diferentes.

Se alguém puder me dar umas dicas eu agradeço e muito.

Valew

Use prepared statements para fazer um select randômico. Colocar tudo num transaction também cai bem.

connection.setAutoCommit( false );

for( int i = 0; i < PERGUNTAS_POR_PROVA; i++ )
{
    PreparedStatement ps = connection.prepareStatement( "SELECT Pergunta from tPerguntas WHERE IDpergunta = ?" )
    
    int random = ... // saiba o numero maximo de perguntas e faça um
                           // random entre 1 e ele
    ps.setInt( 1, random );
    ResultSet rs = ps.executeQuery();
}
connection.commit();
connection.setAutoCommit( true );

Bem mais ou menos isso, não testei, e o lance ali do result set não serve para o que você precisa, mas já dá para ter uma ideia.

também existe a possibilidade
de fazer o random na sql
fica assim:

select * from <tabela> order by rand() limit 20

blza…