Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera,
Tenho um cadastro de ponto, com as colunas,
id | usuário | entrada | finalização
Esse sistema uso pra relatório para saber desde a entrada quanto tempo ele demorou para verificar o cliente, certo?
Vou copiar aqui alguns resultados:
/applications/core/interface/imageproxy/imageproxy.php?img=https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xpa1/v/t1.0-9/11831706_1217550954925979_6357489011830708299_n.jpg?oh=ce4d3449a5307ac414896b98714b5c26%26oe=56105647%26__gda__=1448430893_04c4e7ad3b44e1eb43d497568003ff91&key=0e6fcf2719fa6b0a51a82c0d624627edcb3ee968e510efba783602ff4a14bac2" alt="11831706_1217550954925979_63574890118307" />
Ai queria, fazer uma forma da consultar, por dia, juntar os resultados do dia...
exemplo: 2015-07-30
pegaria do primeiro resultado o a entrada e o último resultado da saída.
Ou como mostra acima:
2015-07-30 às 12:39:30 (id 3), a hora da entrada
2015-07-30 às 13:05:18 (id 5), hora de saída
teria como?
Desde já agradeço
Muito bom Motta, obrigado pela explicação.
Já estiou trabalhando em cima....
Qualquer novidade volto a postar...
ou você simplesmente pode filtrar por data.
<?php
$data = "2015-06-15";
$query = "SELECT * FROM tabela WHERE date(`data`) = '$data' ORDER BY data DESC";
Em geral com o formato date a diferença entre duas datas e em dias ou fração , veja se este postajuda.
grosso modo
select id , usuario , trunc(entrada) data , sum(saida - entrada)
from tabela
group by d , usuario , trunc(entrada)
onde trunc() é um exemplo de function (Oracle) que trunca uma data (retira a hora)
Esta query deve resolver 98% dos casos , só precisaria tratar o "vigia da noite" pois entra na noite de um dia e sai no dia seguinte pela manhã