none
Group by - Data RRS feed

  • Pergunta

  • Boa Tarde Pessoal.

     

    Tenho uma tabela aqui que guarda quando é que o aluno fez a escolha de disciplinas. Então vai ter vários registros de um aluno, porque cada registro equivale a uma disciplina que o mesmo ecolheu. Como cada aluno irá ter vários registros nessa tabela, eu tenho q pegar a primeira ocorrencia na tabela. O campo Data é do tipo DateTime.

     

    Eu preciso saber a Data e o Total de matrículados.

     

    Eu fiz aqui script:

     

    Select

             min (cast(floor(cast(HpeDataSituacao as decimal(18, 8))) as datetime)) Data,

             count (HpeAluId)

    from

             HistoricoPeriodo

    inner join

             Oferta

    on

             HpeOfeId = OfeId

    where

             OfePerPeriodo = 200820

    group by

             HpeDataSituacao

    order by

             HpeDataSituacao

     

    Mas esse script está me retornando o seguinte resultado:

     

                Data                          Qnt
    2008-07-01 00:00:00.000           7
    2008-07-01 00:00:00.000           5
    2008-07-01 00:00:00.000           5
    2008-07-01 00:00:00.000           7
    2008-07-01 00:00:00.000           6
    2008-07-01 00:00:00.000           4
    2008-07-01 00:00:00.000           5
    2008-07-01 00:00:00.000           4
    2008-07-01 00:00:00.000          12
    2008-07-01 00:00:00.000           3
    2008-07-01 00:00:00.000           3
    2008-07-01 00:00:00.000           8
    2008-07-01 00:00:00.000           5

     

    Preciso que esse resultado esteja agrupado por data!!!

     

    Até mais,

    segunda-feira, 28 de julho de 2008 20:17

Respostas

  • Olá Fábio,

     

    A questão é que você está agrupando pela HpeDataSituação e nesse caso, haverá um MIN para cada data (mesmo que a conversão retorne o mesmo resultado). Basta tirar o GROUP BY que funciona. Eu faria da seguinte forma:

     

    Code Snippet

    Select

    min (cast(convert(char(8),HpeDataSituacao,112) as datetime)) Data,

    count (HpeAluId)

    from

    HistoricoPeriodo

    inner join Oferta

    on HpeOfeId = OfeId

    where

    OfePerPeriodo = 200820

    order by

    Data

     

     

    [ ]s,

     

    Gustavo

     

    segunda-feira, 28 de julho de 2008 21:06