Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bru_ce

Intervalo entre Datas

Recommended Posts

Boa tarde gente!
Estou com duas dúvida, tenho uma tabela em MySQL e utilizo PHP para trazer os dados ...

 

DÚVIDA 1

Pegar os registros por dia.

Precisava pegar o primeiro e o último registro do dia 22-04-2016

 

DÚVIDA 2

Pegar os registros por hora.

Precisava pegar o primeiro e o último registro de de horas do dia 22-04-2016

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Formate, na cláusula where, a data conforme sua necessidade, DATE_FORMAT.

 

Na dúvida 1, faça o truncate para o dia:

SELECT * FROM WHERE DATE_FORMAT(date, '%Y-%m-%d') = '2016-04-26'

Na dois, adicione a hora, adicione a propriedade H e o resto zero:

SELECT * FROM WHERE DATE_FORMAT(date, '%Y-%m-%d %H:00:00') = '2016-04-26 16:00:00'

Já, para o primeiro e último resultado, existem algumas possibilidades, como retornar todos (de forma ordenada) e pegar pelo PHP com as funções de array (current, end, reset), ou duas consultas utilizando order e limit. Essas duas consultas podem ser agrupas em uma só, ou outras lógicas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel,

Estou tentando assim,

 

 

$soma = $num + 1;
$consulta0 = $pdo->query("SELECT * FROM $equipamento WHERE data > '$data $num:00:00' ORDER BY id ASC LIMIT 1");
$resultado1 = $consulta0->fetch(PDO::FETCH_ASSOC);
$pulso1 = $resultado1[$texto1];
 
if($num == 23){
  $query = "SELECT * FROM $equipamento where data between '$data $num:00:00' and '$data 23:59:59'order by id DESC limit 1";
} else {
  $query = "SELECT * FROM $equipamento where data between '$data $num:00:00' and '$data $soma:00:00'order by id DESC limit 1";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.