2009/11/4 Michel Sabchuk <[email protected]>: > Olá pessoal, > > Gostaria de saber se alguém tem uma sugestão para eu atender minha demanda: > > Estou administrando um portal de anúncios classificados grátis [1] e > na sua capa eu listo os últimos anúncios realizados por usuários. > > Uma coisa que acontece com certa frequencia é o usuário anunciar > várias vezes o mesmo produto, seja por engano ou intencionalmente. > > Eu ainda não defini a melhor abordagem para evitar isso, por enquanto > estou moderando os anúncios repetidos mas eu queria evitar que os > anúncios duplicados aparecessem entre o momento que foram anunciados e > o momento que eu detectei a duplicata. > > Já implantei algumas alternativas simples para evitar que o usuário > faça isso por engano, agora, gostaria de mostrar anúncios de autores > únicos na capa do site. > > O ideal seria eu listar os últimos anúncios cadastrados e filtrá-los > para que eu mostrasse um de cada autor, limitando em cinco anúncios. > Acho que isso não é possível certo? > > Pensei também em listar os autores em paralelo com um subselect que me > dissesse o último anúncio dele, eu ordenaria pela data do anúncio e > pegaria o último cadastrado de cada autor. O problema é que parte dos > meus anúncios tem autores registrados, armazenados numa tabela > especifica e outra parte tem autores não-registrados, identificados > por campos para nome e email no próprio anúncio. Nesta abordagem > proposta, seria difícil mesclar as duas hipóteses. > > Como preciso só de 5 anúncios, poderia listar uns 30 e torcer para > que, nesses 30 existam ao menos 5 autores únicos (pelas estatísticas > isso acontece). Não é uma solução elegante :) Gostaria de tentar outra > abordagem antes de seguir este passo. > > Alguém tem alguma sugestão? > > [1] http://portaldoclassificado.com/pr/ >
Tente algo do tipo: SELECT autor, max(data_anuncio) FROM sua_tabela GROUP BY autor ORDER BY random() LIMIT 5; Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
