Ir para conteúdo

POWERED BY:

Arquivado

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

ericolvr

Select BETWEEN

Recommended Posts

Essa SQl pode me dar problemas?

Datas passadas no formato yyyy-mm-dd pelo form, faz a busca no intervalo das datas.

 

$relatorio = mysql_query("SELECT * FROM tbl_ordens WHERE data BETWEEN  '$dinicio' AND '$dfim'") or die(mysql_error());
while($linha = mysql_fetch_array($relatorio)) {

imprimo os dados da tabela
}
?>

Aqui tenho outra SQL para somar o total da coluna valoros:

$total = mysql_fetch_row(mysql_query("SELECT SUM(valoros) from tbl_ordens"));
echo $total[0];

 

 

As instrucoes SQL estão corretas, elas funcionam bem, atendem minhas necessidades.

É correto fazer os dois SQL's ou teria de fazer o SUM na primeira?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ericolvr,

 

acredito que toda decisão (programação, lógica, etc...) tomada e que funcione está correta. A diferença está na lógica que você desenvolveu, levando em consideração desempenho e utilização de recursos como memória. Sempre que programo levo em consideração que sempre existe uma lógica melhor, ou que sempre existe uma melhor solução, dessa forma busco as melhores soluções.

 

Se você busca o valor total, então a segunda consulta irá atender melhor. Mas se você irá preencher uma lista com todos os resultados, a primeira query irá atender e você ainda poderá usar um contador para somar os valores.

 

A questão é qual solução vai lhe atender melhor o problema???

 

 

Espero ter respondido a sua dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É amigão concordo com a resposta do nosso amigo romabeckman, temos sempre que buscar a melhor solução utilizando a logica que irá nos proporcionar melhor desenpenho.

 

Mas vamos la, para qual finalidade será estas querys?

Elas iram trabalhar em conjunto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É amigão concordo com a resposta do nosso amigo romabeckman, temos sempre que buscar a melhor solução utilizando a logica que irá nos proporcionar melhor desenpenho.

 

Mas vamos la, para qual finalidade será estas querys?

Elas iram trabalhar em conjunto?

 

 

Preciso gerar um relatório com intervalo de datas e o valor total do serviços prestados pela empresa mês a mês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos la, se o total de serviços for cada linha do banco será desta forma:

 

Para o select entre datas

$sql = mysql_query("SELECT * FROM teste WHERE data BETWEEN  '$dataini' AND '$dataFim'") or die(mysql_error()); 
while($row = mysql_fetch_array($sql)) { 
	echo $row["data"];
echo "<br>";
} 

Para o select do valor total de serviços

$row = mysql_fetch_row(mysql_query("select count(*) from teste"));
echo $row[0];

 

Se pintar alguma duvida ai da um grito.

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.