Como contar os registros apenas do dia vigente até o momento SQL
28/01/2016
0
Boa tarde,
Após muito tentar cheguei ao ponto de pedir ajuda...rsss
Estou fazendo um farol de contagem de entrada de registros e preciso de alguns dados por data nesta consulta. A lógica seria assim
Nº de registos dia Atual
Nº de Registros de ontem
Nº de registros dos últimos 30 dias
Minha dúvida é que não estou conseguindo puxar os registros do dia atual. Ele exibe 0 como resultado e quando até o momento tem 5
Segue código:
// Registros de ontem
$query1 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime BETWEEN CURRENT_DATE()-1 AND CURRENT_DATE() AND cad_farol = 'vermelho'";
$query2 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime BETWEEN CURRENT_DATE()-1 AND CURRENT_DATE() AND cad_farol = 'verde'";
// Registros do mês
$query3 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime BETWEEN CURRENT_DATE()-27 AND CURRENT_DATE() AND cad_farol = 'vermelho'";
$query4 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime BETWEEN CURRENT_DATE()-27 AND CURRENT_DATE() AND cad_farol = 'verde'";
// Registros atuais até o momento TENHO DÚVIDA NESSE
$query5 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime = CURRENT_DATE () AND cad_farol = 'vermelho'";
$query6 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime = CURRENT_DATE () AND cad_farol = 'verde'";
Exibo com a função:
mysql_num_rows()
Se puderem me ajudar.
Att. Neo
Após muito tentar cheguei ao ponto de pedir ajuda...rsss
Estou fazendo um farol de contagem de entrada de registros e preciso de alguns dados por data nesta consulta. A lógica seria assim
Nº de registos dia Atual
Nº de Registros de ontem
Nº de registros dos últimos 30 dias
Minha dúvida é que não estou conseguindo puxar os registros do dia atual. Ele exibe 0 como resultado e quando até o momento tem 5
Segue código:
// Registros de ontem
$query1 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime BETWEEN CURRENT_DATE()-1 AND CURRENT_DATE() AND cad_farol = 'vermelho'";
$query2 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime BETWEEN CURRENT_DATE()-1 AND CURRENT_DATE() AND cad_farol = 'verde'";
// Registros do mês
$query3 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime BETWEEN CURRENT_DATE()-27 AND CURRENT_DATE() AND cad_farol = 'vermelho'";
$query4 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime BETWEEN CURRENT_DATE()-27 AND CURRENT_DATE() AND cad_farol = 'verde'";
// Registros atuais até o momento TENHO DÚVIDA NESSE
$query5 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime = CURRENT_DATE () AND cad_farol = 'vermelho'";
$query6 = "SELECT * FROM esm_cadastro_franqueados WHERE cad_datetime = CURRENT_DATE () AND cad_farol = 'verde'";
Exibo com a função:
mysql_num_rows()
Se puderem me ajudar.
Att. Neo
Nelson Amaral
Curtir tópico
+ 0
Responder
Posts
28/01/2016
Marcos P
Sempre que inserir código no post, utilize a tag <Inserir Codigo>, isso facilita ( em muito ) a leitura !
Tente assim...
Tente assim...
SELECT * FROM esm_cadastro_franqueados WHERE (cad_farol = 'vermelho') AND (datediff(dd,cad_datetime, getdate()) = 0)
Responder
28/01/2016
Claudio Lopes
Sempre que inserir código no post, utilize a tag <Inserir Codigo>, isso facilita ( em muito ) a leitura !
Tente assim...
Tente assim...
SELECT * FROM esm_cadastro_franqueados WHERE (cad_farol = 'vermelho') AND (datediff(dd,cad_datetime, getdate()) = 0)
Eu ainda faria assim
SELECT * FROM esm_cadastro_franqueados WHERE (cad_farol = 'vermelho') AND cad_datetime BETWEEN convert(date,getedate()) and dateadd(86400,convert(date,getedate()))
OBS: Se sua tabela estiver indexada pelo campo cad_datetime (e creio que o formato seja datetime) vc faz o uso performático de sua consulta. Um processo simples de verificar isso (se tiver permissão no banco) é o show plan, poderá comparar e verificar.
Responder
Clique aqui para fazer login e interagir na Comunidade :)