Opa, oswaldo,

vlw,  funcionou , mas em partes pois ele não considera as semanas do mês e 
sim faz uma contagem de 7 dias ... Um exemplo pratico é se pergarmos o mês 
09 de 2006 vou ter a 1º semana apenas com três dias (sex = dia 01 , sab = 
dia 02 , dom = dia 03); Pela query ela pega do dia 01 "sex" ate o dia 07 = 
"da outra semana que é sex" ... mas seu exemplo me ajudou bastante com ele 
fiz a query assim :

SELECT date_part('week', data)
as week, count(*) FROM aula  where data between '2006-09-01' and 
'2006-09-30'   GROUP BY week ORDER BY week;

Dessa maneira respeita as semanas do mês:
01/09 - 03/09 = semana 35
04/09 - 10/09 = semana 36
11/09 - 17/09 = semana 37
18/09 - 24/09 = semana 38
25/09 - 30/09 = semana 39

porem queria que ao invez de semanas a partir do ano queria que fosse semana 
= 1 , 2 , 3, 4 e 5 mas ainda assim respeitando o calendario.. isso seria 
possivel ?

Att
Mauricio









>From: Osvaldo Rosario Kussama <[EMAIL PROTECTED]>
>Reply-To: Grupo de Usuários do PostgreSQL no 
>Brasil<[email protected]>
>To: Grupo de Usuários do PostgreSQL no Brasil 
><[email protected]>
>Subject: Re: [PostgreSQL-Brasil] Ola a todos - pergunta e basica...
>Date: Thu, 22 Feb 2007 18:33:11 -0200
>
>Mauricio De Biasi escreveu:
> > Ok, oswaldo, a melhor coluna seria a "Num_Sem_Mes"  desejo agrupar dados 
>de
> > um count que tenho que fazer...
> >
> >
> >
> >
> >> From: Osvaldo Rosario Kussama <[EMAIL PROTECTED]>
> >> Reply-To: Grupo de Usuários do PostgreSQL no
> >> Brasil<[email protected]>
> >> To: Grupo de Usuários do PostgreSQL no Brasil
> >> <[email protected]>
> >> Subject: Re: [PostgreSQL-Brasil] Ola a todos - pergunta e basica...
> >> Date: Thu, 22 Feb 2007 16:54:49 -0200
> >>
> >> Mauricio De Biasi escreveu:
> >>> Ok preciso pegar um perido de 30 dias (mês) e dividir por semanas,
> >> necessito
> >>> fazer algo desse tipos :("sei que o comando esta errado....")
> >>>
> >>> select * from  colaborador_transferido t
> >>> inner join colaborador c  on c.id_colaborador = t.id_colaborador
> >>> where id_unidade_de = '43' and id_unidade_para = '7'  and
> >>> -- É aqui que estou errando
> >>> date_part  (dt_transferido ('week' ou 'W' between '2006-01-01' and
> >>> '2006-01-31') )
> >>> group by "pelas semanas"
> >>>
> >>> abs
> >>> Mauricio
> >>>
> >>>
> >>>
> >>>> From: Osvaldo Kussama <[EMAIL PROTECTED]>
> >>>> Reply-To: Grupo de Usuários do PostgreSQL no
> >>>> Brasil<[email protected]>
> >>>> To: Grupo de Usuários do PostgreSQL no
> >>>> Brasil<[email protected]>
> >>>> Subject: Re: [PostgreSQL-Brasil] Ola a todos - pergunta  e basica...
> >>>> Date: Wed, 21 Feb 2007 20:05:08 -0300 (ART)
> >>>>
> >>>>
> >>>> --- Mauricio De Biasi <[EMAIL PROTECTED]>
> >>>> escreveu:
> >>>>
> >>>>> Pessoal, sou novo aqui na lista e estou feliz pq
> >>>>> achei ela rsrrs, pois forum
> >>>>> de postgre esta dificil aqui no brasil...
> >>>>>
> >>>>> Tenho uma pergunta basica quero fazer um select
> >>>>> contabilzando o numero de
> >>>>> semanas de um mes e agrupalos por semana: tipo assim
> >>>>> :
> >>>>>
> >>>>> data_ini = 01/09/2006
> >>>>> data_fim = 30/09/2006
> >>>>>
> >>>>> semana 1 = 10
> >>>>> semana 2 = 5
> >>>>> semana 3 = 5
> >>>>> semana 4 = 5
> >>>>> semana 5 = 5
> >>>>>
> >>>>> ou
> >>>>>
> >>>>> data_ini = 01/10/2006
> >>>>> data_fim = 31/10/2006
> >>>>>
> >>>>> semana 1 = 15
> >>>>> semana 2 = 5
> >>>>> semana 3 = 5
> >>>>> semana 4 = 5
> >>>>>
> >>>>> Eu sei que no postgre temos a função date e a opção
> >>>>> "w" ou "W" que me traz a
> >>>>> quantidade de semanas na quele perido como psso
> >>>>> separar elas em 1,2,3,7 ?
> >>>>>
> >>>> Sinceramente, não consegui entender seus exemplos nem
> >>>> sua pergunta.
> >>>> Tente explicar melhor quais são os dados de que dispõe
> >>>> e qual o resultado desejado para tentarmos ajudá-lo.
> >>>>
> >>
> >>
> >> Por favor, execute o comando abaixo no psql e responda qual das colunas
> >> melhor identifica a "semana" para você:
> >>
> >> SELECT to_char('2007-02-01'::date + s.a, 'WW') as "Num_Sem_Ano",
> >> to_char('2007-02-01'::date + s.a, 'W') as "Num_Sem_Mes",
> >> date_trunc('week','2007-02-01'::date + s.a) as "Inicio_Sem" FROM
> >> generate_series(0,45) as s(a);
> >>
> >> Creio que a resposta esteja nesta direção.
> >>
> >> Que dados você deseja agrupar? Quantidade?
> >>
>
>
>Veja se este teste ajuda:
>
>bdteste=# SELECT * FROM tst_grupo;
>   id | cod |   datax    | qtde
>----+-----+------------+------
>    1 |   1 | 2006-02-02 |    2
>    2 |   2 | 2006-02-03 |    3
>    3 |   3 | 2006-02-04 |    4
>    4 |   1 | 2006-02-07 |    1
>    5 |   4 | 2006-02-08 |    2
>    6 |   5 | 2006-02-10 |    5
>    7 |   2 | 2006-02-13 |   10
>    8 |   3 | 2006-02-14 |   11
>    9 |   7 | 2006-02-15 |   12
>   10 |   8 | 2006-02-15 |   14
>   11 |   1 | 2006-02-26 |    2
>   12 |   5 | 2006-02-27 |    3
>   13 |   9 | 2006-02-28 |    5
>(13 registros)
>
>bdteste=# SELECT to_char(datax, 'W') as "Num_Sem_Mes", sum(qtde) FROM
>tst_grupo WHERE to_char(datax, 'YYYY-MM') = '2006-02' GROUP BY
>"Num_Sem_Mes" ORDER BY 1;
>   Num_Sem_Mes | sum
>-------------+-----
>   1           |  10
>   2           |  28
>   3           |  26
>   4           |  10
>(4 registros)
>
>[]s
>Osvaldo
>
>
>_______________________________________________________
>Yahoo! Mail - Sempre a melhor opção para você!
>Experimente já e veja as novidades.
>http://br.yahoo.com/mailbeta/tudonovo/
>_______________________________________________
>Grupo de Usuários do PostgreSQL no Brasil
>Antes de perguntar consulte o manual
>http://pgdocptbr.sourceforge.net/
>
>Para editar suas opções ou sair da lista acesse a página da lista em:
>http://pgfoundry.org/mailman/listinfo/brasil-usuarios

_________________________________________________________________
Descubra como mandar Torpedos SMS do seu Messenger para o celular dos seus 
amigos. http://mobile.msn.com/

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a