Bezerk 3 Denunciar post Postado Agosto 13, 2011 Tenho uma tabela categorizada de produtos onde cada categoria possui vários produtos. Preciso fazer um select que pegue ALEATORIAMENTE APENAS UM PRODUTO POR CATEGORIA. Sei que a chave é a função RAND() mas não sei como usá-la na query: Fiz uma query assim; SELECT * FROM produtos WHERE categoria IN ( SELECT DISTINCT categoria FROM produtos ) GROUP BY categoria; Funciona deste jeito, mas me retorna sempre os mesmos produtos. Alguém pode me dar uma luz? Desde já agradeço a todas as respostas. Compartilhar este post Link para o post Compartilhar em outros sites
Estud@nte 6 Denunciar post Postado Agosto 13, 2011 ... FROM produtos ORDER BY RAND()); Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 14, 2011 Tente isto. Um produto por categoria .... select produto from produto p where categoria = 'x' order by rand() limit 1 para cada categoria select (select produto from produto p where categoria = c.categoria order by rand() limit 1) produto,c.categoria from categoria c Compartilhar este post Link para o post Compartilhar em outros sites