Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde Senhores,
Tenho um sistema onde as semanas variam de 1 a 52. Começando na Quarta-feira e terminando na terça da outra semana. segue um ex:
11/10 a 17/10 - Semana 41
18/10 a 24/10 - semana 42
Gostaria que no relatório viesse a semana atual:
[SELECT](http://localhost/phpmyadmin/url.php?url=http%3A%2F%2Fdev.mysql.com%2Fdoc%2Frefman%2F5.5%2Fen%2Fselect.html) * FROM `frequencia` WHERE WEEK( data ,1) = WEEK( NOW( ) )
Até ae blz mas quando for fazer o relatorio na semana que vem vai vir outra semana.>
1 hora atrás, Motta disse:
Eu faria uma FUNCTION de usuário para montar uma versão da WEEK baseada nesta semana não usual e usaria ela no lugar da WEEK.
Mas confesso que não ocorre uma maneira simples de calcular esta semana ?
Esta semana seria no mês ou no ano , hoje é 3 do mês e a 42 do ano (padrão)
No caso é a semana anual onde começou na quarta-feira dia 04/01 a 10/01 semana 1, que estamos na semana 42 18/10 a 24/10 e vamos até a semana 52 do ano!
dia 3/1/17 é então 52 de 2016 !?
>
3 minutos atrás, Motta disse:
dia 3/1/17 é então 52 de 2016 !?
Corretamente isso mesmo
Uma gambiarra seria usar a function WEEK com o 2º parametro 0 e subtraindo sempre 4 dias (quarta-domingo) , mas só testando.
>
Em 19/10/2017 at 15:28, Motta disse:
Uma gambiarra seria usar a function WEEK com o 2º parametro 0 e subtraindo sempre 4 dias (quarta-domingo) , mas só testando.
Motta,
Consegui usando outra função do Mysql:
SELECT * FROM `frequencia` WHERE NOW() BETWEEN DATE(data_inicio) AND DATE(data_fim)
Funcionou perfeito.Blz
>
Em 25/10/2017 at 14:24, Motta disse:
Blz
Boa tarde Motta tudo bem?
Surgiu mais uma dúvida nessa query tentei com order by, LIMIT e não consegui, veja por favor se consegue me ajudar:
Minha tabela:
semana | data_inicio | data_fim
42 - 2017 | 18/10/2017 | 24/10/2017
43 - 2017 | 25/10/2017 | 31/10/2017
44 - 2017 | 01/11/2017 | 07/11/2017
45 - 2017 | 08/11/2017 | 14/11/2017
46 - 2017 | 15/11/2017 | 21/11/2017
A query que pego a data atual que é a semana 46:
WHERE CURDATE() BETWEEN DATE(t2.data_inicio) AND DATE(t2.data_fim)
Gostaria de pegar a semana atual mais as 3 últimas, ou seja, a semana:46,45,44 e 43
diminua o t2.data_inicio em 21 dias (3 semanas)
>
17 horas atrás, Motta disse:
diminua o t2.data_inicio em 21 dias (3 semanas)
Show!! funcionou:
where data_inicio
between subdate(curdate(), 21) AND DATE(data_fim) order by semana DESC
>
Citar
Começando na Quarta-feira e terminando na terça da outra semana
Eu faria uma FUNCTION de usuário para montar uma versão da WEEK baseada nesta semana não usual e usaria ela no lugar da WEEK.
Mas confesso que não ocorre uma maneira simples de calcular esta semana ?
Esta semana seria no mês ou no ano , hoje é 3 do mês e a 42 do ano (padrão)