Como mostrar registos por ordem aleatória?
Não existe uma forma “standard” de resolver este problema. Cada SGBD (Sistema de Gestão de Bases de Dados) tem uma forma diferente:
CREATE TABLE ProgRand (A INT); INSERT INTO ProgRand (A) VALUES (9), (8), (7), (6), (5), (4), (3), (2), (1); -- Ordem natural (armazenada) SELECT * FROM ProgRand; -- Ordem pelo campo A ascendente SELECT * FROM ProgRand ORDER BY A ASC; -- Ordem aleatória - SQL Server SELECT * FROM ProgRand ORDER BY NewID(); -- Ordem aleatória com apenas 3 registos - SQL Server SELECT TOP (3) * FROM ProgRand ORDER BY NewID (); -- Ordem aleatória - Oracle SELECT * FROM ProgRand ORDER BY DBMS_RANDOM.VALUE; -- Ordem aleatória - MariaDB / MySQL SELECT * FROM ProgRand ORDER BY RAND();
[...]