Desde o SQL 2000, existe uma função chamada NEWID() e ela pode ajudar em momentos que queremos retornar uma linha aleatoria sem precisar fazer muita codificação. Vamos imaginar que voce gostaria de exibir quatro banners aleatorios e no banco de dados está o nome dos arquivos.

CREATE TABLE #Test (ID INT,Path VARCHAR(49))     
INSERT #Test VALUES(1, '1.jpg' )    
INSERT #Test VALUES(2, '2.jpg' )    
INSERT #Test VALUES(3, '3.jpg' )    
INSERT #Test VALUES(4, 'dominos.jpg' )    
INSERT #Test VALUES(5, 'mouse.jpg' )    
INSERT #Test VALUES(6, 'futebol.jpg' )    
INSERT #Test VALUES(7, 'teste.jpg' )    
INSERT #Test VALUES(8, 'carro.jpg' ) 

SELECT TOP 4 *    
FROM #Test    
ORDER BY NEWID()

Anúncios