potresti procedere come segue:
select count(*) as totale from tabella where hp='yes'
...
...
attivi un ciclo for da 1 a 5 e dentro
una funzione che ti estragga un numero casuale compreso tra 1 e TOTALE(chiaramente ripetendo l'estrazione se il risultato è uguale ad uno dei precedenti) e mettendo tutto in un array 1 to 5
alla fine avrai un array con 5 diversi numeri
poi
select * from tabella where hp='yes'
scorri tutto il recordset ed ad ogni lettura incrementi un contatore, se il contatore è uguale ad uno degli elementi dell'array lo visualizzi, altrimenti no
chiaramente se nel tuo recordset ci sono tanti record la procedura può rivelarsi pesante
SB