Eu criei uma visão em que estou exibindo o título do nó e um logotipo (um campo cck). Nos argumentos, passei o nome do termo de taxonomia.
No resultado, um nó está exibindo 2 ou 3 vezes; Eu já marquei a caixa de seleção distinta nas configurações de consulta, mas isso também não funciona. Eu usei a classificação aleatória, que parece causar as duplicatas; quando eu removo a classificação aleatória, funciona bem.
Como evitar as duplicatas sem desativar a classificação aleatória?
Respostas:
Você pode aplicar GROUP BY ou DISTINCT, ativando as configurações de agregação de visualizações para remover registros duplicados.
1. Vá e edite sua visualização
2. Na seção Avançado »OUTROS , habilitando Usar agregação: Sim
3. Na seção FIELDS ou FILTER CRITERIA , selecione e aplique as configurações de Agregação para os campos que você deseja agrupar ou distintos.
fonte
distinct
tipo de seleção, que tipo devo selecionar no tipo de agregação?A maneira simples de obter valores distintos em uma exibição é fazer o seguinte:
fonte
A maneira simples de obter valores distintos usando o Views é fazer o seguinte:
Você pode aplicar GROUP BY ou DISTINCT, ativando as configurações de agregação de visualizações para remover registros duplicados.
fonte
Sei que esta pergunta já foi respondida, mas para alguns usos essas soluções não funcionam. No entanto, depois de fazer algumas pesquisas, encontrei uma solução que funciona para minhas necessidades.
Encontrei uma solução realmente útil que me permitiu corrigir isso. Publiquei o snippet de código no DropBucket. Basicamente, você implementa um alter hook de consulta do Drupal 7 que verifica todas as consultas de exibições em busca de comentários de consulta que especificam uma cláusula e campo groupby. Em seguida, adiciona esse groupby à consulta SQL.
http://dropbucket.org/node/153
A referência de origem está nos comentários na página.
fonte
Eu tive o mesmo problema. Por fim, resolvi instalando o módulo Views Distinct .
fonte
Ocorreu um problema com os campos de data com vários valores. Os itens foram exibidos sempre que uma data foi inserida. Nenhuma das outras soluções mencionadas aqui funcionou para mim. Mas então eu encontrei uma solução D6 que ainda funciona no D7 lá .
hook_views_pre_render(&$view)
é a palavra mágica. No exemplo, é limitado a apenas uma exibição de uma determinada exibição. Espero que ajude.EDIT: Infelizmente este subtrai o número de itens duplicados da exibição se um limite foi definido. Se alguém encontrar uma solução para isso, comente!
fonte
Para não ativar um tópico antigo, mas a resposta (se estiver usando o Drupal 7 e um filtro de pesquisa exposto) é marcar "remover pontuação da pesquisa" em "pesquisar: termos de pesquisa".
Em "Critérios de filtro"
Adicione "Pesquisa: Termos de pesquisa"
Marque "Remover pontuação da pesquisa"
Clique em "Aplicar (todos os monitores)"
Clique em Salvar
fonte
Nenhum desses outros métodos funcionou para mim, mas o módulo Views Random Seed realmente fez o truque. No entanto, meus problemas estavam mais relacionados ao uso de um pager. Aqui está uma citação da página do projeto desse módulo:
fonte
Eu tenho vários
Date fields
e quero classificar pelo início doFIRST date
... Aqui está como ele funcionou: EmViews->advanced->Other: use aggregation: YES
E então:SORT CRITERIA->Aggregation settings->Aggregation type: COUNT
Eu esperava
count
me dar o número em vez da instância, mas tornou o resultado distinto ...fonte