none
Contar somente itens não repetidos RRS feed

  • Pergunta

  • Boa tarde!

    Gostaria de ajuda para montar um select onde desejo somar a quantidade de linhas encontradas, mas somente onde o código não seja repetido.

    ex. tabela TABVENDA:

    PEDIDO  -  PRODUTO

    000200  -  XXXXXX

    000200  -  YYYYYY

    000230  -  AAAAAA

    000230  -  XXXXXX

    SELECT LEN(PRODUTO) FROM TABVENDA

    Esse select retorna 4... mas preciso que retorne 3, porque o produto XXXXXX repete no 2º pedido.

    Obrigada desde já!!

    quarta-feira, 20 de agosto de 2014 20:01

Respostas

  • Boa tarde,

    Acolafati, acho que você pode utilizar a função Count com Distinct:

    select count(distinct PRODUTO) from TABVENDA

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Sugerido como Resposta Ricardo Nader quarta-feira, 20 de agosto de 2014 20:27
    • Marcado como Resposta acolafati quarta-feira, 20 de agosto de 2014 22:23
    quarta-feira, 20 de agosto de 2014 20:10
  • Boa Tarde,

    Pode usar esse script para contar as linhas da maneira desejada:

    select COUNT(distinct PRODUTO) from TABVENDA

    O seu select com a cláusula LEN funciona de uma maneira diferente, ele retorna o número de caracteres da expressão da cadeia de caracteres especificada, excluindo espaços em branco à direita.


    Att, Bruno Silva.

    • Sugerido como Resposta Ricardo Nader quarta-feira, 20 de agosto de 2014 20:27
    • Marcado como Resposta acolafati quarta-feira, 20 de agosto de 2014 22:22
    quarta-feira, 20 de agosto de 2014 20:20

Todas as Respostas

  • Boa tarde,

    Acolafati, acho que você pode utilizar a função Count com Distinct:

    select count(distinct PRODUTO) from TABVENDA

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Sugerido como Resposta Ricardo Nader quarta-feira, 20 de agosto de 2014 20:27
    • Marcado como Resposta acolafati quarta-feira, 20 de agosto de 2014 22:23
    quarta-feira, 20 de agosto de 2014 20:10
  • Boa Tarde,

    Pode usar esse script para contar as linhas da maneira desejada:

    select COUNT(distinct PRODUTO) from TABVENDA

    O seu select com a cláusula LEN funciona de uma maneira diferente, ele retorna o número de caracteres da expressão da cadeia de caracteres especificada, excluindo espaços em branco à direita.


    Att, Bruno Silva.

    • Sugerido como Resposta Ricardo Nader quarta-feira, 20 de agosto de 2014 20:27
    • Marcado como Resposta acolafati quarta-feira, 20 de agosto de 2014 22:22
    quarta-feira, 20 de agosto de 2014 20:20
  • É verdade... é a função COUNT, me expressei mal.

    Parace que funciona mesmo o COUNT funciona com o DISTINCT mesmo... vou verificar.

    Obrigada!

    quarta-feira, 20 de agosto de 2014 20:44