none
Desenvolver uma Query para buscar quantidade dentro de um intervalo de 30 minutos. RRS feed

  • Pergunta

  • Boa noite, pessoas!

    Gostaria que alguém desse alguma dica de como desenvolver essa Query, pois eu preciso contar a quantidade de cada coluna de MSISDN a cada 30 minutos. Gostaria de Saber se tem algum método?

    SELECT

    SITES = ST.SITEID,

    DATA = SP.DAT_INICIO_LIGACAO,

    HORARIO = RIGHT(SP.HOR_INICIO_LIGACAO, 8),

    MSISDN = COUNT(SP.NUM_NTC)

    FROM [DIAGNOSTICO].[dbo].[ANALISE_CN11] AS SP

    INNER JOIN [DIAGNOSTICO].[dbo].[SPC] AS ST ON SP.NUM_NTC = ST.MSISDN

    WHERE ST.SITEID <> 'ERJJACI4'

    GROUP BY ST.SITEID, SP.DAT_INICIO_LIGACAO, RIGHT(SP.HOR_INICIO_LIGACAO, 8)

    ORDER BY SP.DAT_INICIO_LIGACAO ASC;

    GO


    Preciso nessa Query, dar um COUNT no NUM_NTC e GROUP BY para rodar, ótimo ele irá trazer o resultado total, porém quero que ele conte o volume a cada 30 minutos para cada SITE.

    Obrigado pela ajuda.

    Abs.

    Att, Luciano da Mata

    sexta-feira, 24 de março de 2017 21:34

Respostas

Todas as Respostas

  • Boa noite,

    Qual é o tipo de dados da coluna HOR_INICIO_LIGACAO?

    Se for do tipo Time ou semelhante experimente fazer uns testes dessa forma para ver se é obtido o resultado esperado:

    SELECT
        SITES = ST.SITEID,
        DATA = SP.DAT_INICIO_LIGACAO,
        HORARIO = dateadd(minute, datediff(minute, 0, SP.HOR_INICIO_LIGACAO) / 30 * 30, 0),
        MSISDN = COUNT(SP.NUM_NTC)
    FROM [DIAGNOSTICO].[dbo].[ANALISE_CN11] AS SP
    INNER JOIN [DIAGNOSTICO].[dbo].[SPC] AS ST ON SP.NUM_NTC = ST.MSISDN
    WHERE ST.SITEID <> 'ERJJACI4'
    GROUP BY 
        ST.SITEID, 
        SP.DAT_INICIO_LIGACAO, 
        dateadd(minute, datediff(minute, 0, SP.HOR_INICIO_LIGACAO) / 30 * 30, 0)
    

    Espero que ajude


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

    sexta-feira, 24 de março de 2017 21:57
  • Deleted
    sábado, 25 de março de 2017 13:46
  • Olá José, tudo bem? eu preciso contabilizar a quantidade de ligações a cada 30 minutos.

    segunda-feira, 27 de março de 2017 14:39
  • Ola Gamipex, tudo bem? Estou fazendo os teste na Query, muito obrigado, qualquer coisa te falo.
    segunda-feira, 27 de março de 2017 14:42
  • Perdão José, reformulando a resposta, preciso saber quantidade de ligações feita no intervalo de 30 minutos.

    Exemplo 30 minutos teve 550 ligações, 30 minutos teve 740 ligações, e assim em diante.

    segunda-feira, 27 de março de 2017 14:43
  • Luciano, boa tarde.

    Neste caso, utilize o horário atual com a função GETDATE(), o CONVERT te dá somente as horas.


    SELECT CONVERT(TIME, GETDATE()) te retorna o horário atual, basta comparar com o horário das ligações para estabelecer a lógica dos minutos e contar.


    segunda-feira, 27 de março de 2017 15:17
  • Deleted
    segunda-feira, 27 de março de 2017 16:37