Jump to content
Fórum Script Brasil
  • 0

Ajuda em Query - somando e agrupando valores


mbarra14

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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

Edited by Vinicius Schuh
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...