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 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
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";
}
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.