none
Group by - dominios de email cadastrados

    Question

  • Bom dia Turma,

    Eu tenho uma tabela de cadastro onde tem em um campo os emails dos usuarios. Eu gostaria de fazer uma análise dos domínios de emails cadastrados para ver qual domínio tem mais e qual que tem menos. Porém não sei como fazer a query, pois eu tenho que mandar a query ignorar tudo o que for antes do "@" e depois agrupar e colocar um count(email), certo. Alguém pode me dar uma dica?

    Deve ser algo parecido com: Select email, count(email) from cadastro group by email order by 2 desc

    Obrigado,

    Thiago

    Tuesday, November 21, 2006 5:01 PM

Answers

  • Legal, consegui...

    Só para ajudar outros com a mesma dúvida, estou publicando a query:

    select  substring(campo_email,charIndex('@',campo_email), 40) as dominio, count(campo_email)   from cadastro group by substring(campo_email,charIndex('@',campo_email), 40) order by 2 desc

    Valew a força,

    Thiago

    Tuesday, November 21, 2006 7:30 PM

All replies

  • Thiago,

    Veja se este exemplo pode te ajudar:

    Declare @Email VarChar(25),

    @Dominio Varchar(10),

    @TamanhoDominio SmallInt

    Set @Email='junior@latexsr.com.br'

    Set @TamanhoDominio=(Select PatIndex('%@%',@Email))

    Select @Dominio=Substring(@Email,PatIndex('%@%',@Email),CharIndex('.',@Email)-@TamanhoDominio)

    If @TamanhoDominio >=2

    Print 'Domínio: '+@Dominio+' é válido'

    Else

    Print 'Domínio: '+@Dominio+' inválido'

    Tuesday, November 21, 2006 5:55 PM
  • Colega, acho que isso é outra coisa. Mas valew pela força.

    Alguém tem outra solução?

    Tuesday, November 21, 2006 6:29 PM
  • Thiago,

    Este exemplo eu estou armazenando o tamanho do domínio, após o @, mas também da para gente ter como base, o forma de obter o conteúdo depois do @.

     

    Tuesday, November 21, 2006 6:31 PM
  • Legal, consegui...

    Só para ajudar outros com a mesma dúvida, estou publicando a query:

    select  substring(campo_email,charIndex('@',campo_email), 40) as dominio, count(campo_email)   from cadastro group by substring(campo_email,charIndex('@',campo_email), 40) order by 2 desc

    Valew a força,

    Thiago

    Tuesday, November 21, 2006 7:30 PM