Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda em Query - somando e agrupando valores


mbarra14

Pergunta

Pessoal, tenho o seguinte problema.

tenho as seguintes tabelas:

DDD (DDD_ID, DDD)
OFERTA(OFERTA_ID, DESCRICAO)
DDD_OFERTA (DDD_ID, OFERTA_ID)
CLIENTE(CLIENTE_ID, NOME)
COMPRA(COMPRA_ID, CLIENTE_ID, OFERTA_ID, VALOR)
BONUS(BONUS_ID, COMPRA_ID, CLIENTE_ID)
Eu preciso fazer uma query para obter o numero de clientes que fizeram 3 compras, 2 compras, 1 compra respectivamente agrupados por DDD, ou seja, deveria ficar mais ou menos assim:
DDD   COMPRA_3   COMPRA_2   COMPRA_1
 11       500       1000      2000
 21       300        600      1200
 31       200        400      800

Por onde eu posso começar?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Você pode criar um agrupamento com a soma das compras

Por exemplo:

select
    cliente_id,
    sum(valor) as valor
from
    compra
group by
    cliente_id
order by
    valor

O mecanismo é simples mesmo, agora é só você incluir as outras tabelas e puxar os dados que você quer, entendeu?

qualquer coisa é só falar

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, obrigado pela resposta.

Mas eu acho que não é isso. No caso não seria para somar os valores de compras, e sim para saber o número de clientes que compraram 3 vezes, 2 vezes e 1 vez respectivamente e agrupados por DDD, no caso seria: "Quantas pessoas com DDD 11 (SP) compraram 3 vezes, 2 vezes e 1 vez respectivamente."

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia mbarra14, você poderia usar o comando COUNT, ele ira contar quantos registros existem para uma determinada situação.

Como você precisa saber quantas compras existiram para um determinado cliente, voce poderia realizar uma verificação com o comando CASE.

Ex:

SELECT
.
.
.
Total_Compras = Case When (compra.compra_id) THEN COUNT(cliente_id) End
.
.
.

Dessa forma, vai contar quantas compras o cliente em questão teve.

Lembrando que é apenas uma idéia, você teria que realizar toda a estrutura do SELECT com seus respectivos campos, e ligações entre as tabelas.

Espero ter ajudado, qualquer coisa posta. Aquele Abraço

Editado por Vinicius Schuh
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...