Ir para conteúdo

POWERED BY:

Arquivado

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

Marcelo Souza Boeira

montar SQL

Recommended Posts

Bom dia pessoal,

 

Estou com uma duvida aqui....

Tenho 3 tipos de transações Aprovado - Voltado e Reprovado que fica em um campo status da tabela

 

Preciso pegar em um só sql o numero de registros de cada status + o seu valor e valor total.

 

Alguem tem uma dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Marcelo,

 

Você deverá utilizar:

 

Sum
Count
e Group By

 

para conseguir obter os dados desejados.

 

Aqui no fórum, tem diversas dicas de como aplicar as funções.

 

Grande abraço.

 

_ _

Fabiano Abreu

Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado Fabiano, eu estou tentando aqui... :)

 

Só para dar uma luz de como tem que ser o resultado?

 

STATUS TODAY YESTERDAY THIS MONTH THIS YEAR

VALIDADED Transaction: 49 Transaction: 1 Transaction: 60 Transaction: 100

Sum: $13,968.00 Sum: $119.00 Sum: $23,159.00 Sum: $43,159.00

 

APPROVED Transaction: 49 Transaction: 1 Transaction: 60 Transaction: 100

Sum: $13,968.00 Sum: $119.00 Sum: $23,159.00 Sum: $43,159.00

 

REFUND Transaction: 49 Transaction: 1 Transaction: 60 Transaction: 100

Sum: $13,968.00 Sum: $119.00 Sum: $23,159.00 Sum: $43,159.00

 

 

Isso me deixou confuso, se faco um script pelo php, para cada status ou se tenho como fazer isso direto pelo mysql

 

 

Mais um vez obrigado pela ajuda ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado Fabiano, eu estou tentando aqui... :)

 

Só para dar uma luz de como tem que ser o resultado:


STATUS	          TODAY	          YESTERDAY       THIS MONTH	  THIS YEAR
VALIDADED     Transaction: 49   Transaction: 1    Trans.:60      Trans.: 100  
           Sum: $13,968.00    Sum: $119.00  Sum: $23,159.00 Sum: $43,159.00

APPROVED     Transaction: 49   Transaction: 1    Trans.:60      Trans.: 100  
           Sum: $13,968.00    Sum: $119.00  Sum: $23,159.00 Sum: $43,159.00

REFUNDED    Transaction: 49   Transaction: 1    Trans.:60      Trans.: 100  
           Sum: $13,968.00    Sum: $119.00  Sum: $23,159.00 Sum: $43,159.00

 

Isso me deixou confuso, se faco um script pelo php, para cada status ou se tenho como fazer isso direto pelo mysql

 

 

Mais um vez obrigado pela ajuda ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma olhada no sql que montei, é isso mesmo ?

 

SELECT tr_status, 
   (SELECT COUNT(tr_status) Qtd, SUM(tr_amount) Valor FROM sis_transaction WHERE (DAYOFMONTH(NOW()) - INTERVAL 1 DAY ) ),
   (SELECT COUNT(tr_status) Qtd, SUM(tr_amount) Valor FROM sis_transaction WHERE DAYOFMONTH(tr_date)= DAYOFMONTH(NOW()) ),
   (SELECT COUNT(tr_status) Qtd, SUM(tr_amount) Valor FROM sis_transaction WHERE MONTH(tr_date)= MONTH(NOW()) ),
   (SELECT COUNT(tr_status) Qtd, SUM(tr_amount) Valor FROM sis_transaction WHERE YEAR(tr_date)= YEAR(NOW()) )
   FROM sis_transaction GROUP BY tr_status

 

 

Marcelo,

 

Não sei como funciona no PHP, mas na dica que passei, você deve aplicá-la no MySQL.

 

Abraços.

 

_ _

Fabiano Abreu

Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL

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.