DESAFIO DO GORDO – Ranking de Clientes

E ai galerinha, tudo bem com vocês?

Hoje teremos mais um DESAFIO DO GORDO!

Observem a tabela Pedido ilustrada na figura abaixo:

A tabela Pedido contém um registro para cada pedido realizado por um cliente e qual o valor total gasto neste mesmo pedido.

O desafio é escrever uma consulta que gere o ranking de clientes, ou seja, aquele cliente que mais gastou na soma de todos os seus pedidos deve ser o primeiro do ranking.

Para ajudá-los coloquei o resultado final ilustrado na figura abaixo.

Quero que postem a resposta nos comentários pessoal.

Grande abraço e até a próxima.

7 ideias sobre “DESAFIO DO GORDO – Ranking de Clientes

  1. cleiton

    Fala Vitor beleza, acho que esse comando deve resolver tudo,

    SELECT P.CODCLI,SUM(P.VALORTOTAL),
    DENSE_RANK() OVER (ORDER BY SUM(P.VALORTOTAL) DESC) AS POSRANK
    FROM TB_PEDIDO P
    INNER JOIN TB_PEDIDO TP
    ON P.CODCLI = TP.CODCLI
    GROUP BY P.CODCLI
    ORDER BY RANKING

    Resposta
    1. vitortff Autor do post

      E ai Cleiton, tudo bem contigo?

      Show de bola sua resposta hein?

      Valeu pela participação e acompanha na semana que vem a solução completa e detalhada do DESAFIO DO GORDO.

      Grande abraço.

      Resposta
  2. Adler

    Salve “tio”, li o desafio e fui fazer, bom o desafio foi cumprido, mas ficaram algumas dúvidas, o “tio” pode esclarecer elas?!

    Nunca postei nada, mas segue a resposta.
    “SELECT CodCli, SUM(ValorTotal) AS ValorTotal, ROW_NUMBER() OVER(ORDER BY SUM(ValorTotal) DESC) AS PosRank FROM Desafio GROUP BY CodCli”.
    (Devo postar a resposta das próximas vezes?!).

    A dúvida que ficou foi pra fazer o ranking, descobri quatro comandos “possíveis” que são:
    – RANK
    – DENSE_RANK
    – NTILE
    – ROW_NUMBER

    Acabei escolhendo o row_number, pois foi que eu encontrei primeiro, mas pode nos explicar mais sobre cada um deles?

    Abraço a todos

    Resposta
    1. vitortff Autor do post

      Fala grande Adler, tudo bem contigo meu velho?

      Lógico que deve postar sempre as respostas para o DESAFIO DO GORDO.

      A idéia é que vocês participem sempre.

      Com relação aos quatro possíveis comandos de Ranking, hehehehehe, é só acompanhar na semana que vem que quando postarei a resposta para o desafio que explicarei detalhadamente cada um deles.

      Grande abraço.

      Resposta
  3. Marcelo

    Fala amigão,

    Meu nome é Marcelo e preciso de uma ajuda, estou com três exercicios para fazer de pl/sql. Gostaria da sua ajuda, o enunciado são os seguintes:
    Faça um função denominada risco_cliente que possa ser chamada de um comando de
    select que tenha como parâmetro de entrada o id de um cliente e que devolva a
    classificação de risco do cliente.
    A classificação de risco deverá ser estabelecida da seguinte forma:
    Se a situação de credito do cliente for ótima e ele tiver pelo menos duas compras –
    risco muito baixo.
    Se a situação de credito do cliente for boa e ele tiver pelo menos duas compras –
    risco baixo.
    Se a situação de credito do cliente for ruim e ele tiver pelo menos duas compras –
    risco médio.
    Se a situação de credito do cliente for ótima e ele tiver uma compra – risco baixo.
    Se a situação de credito do cliente for boa e ele tiver uma compra -risco médio.
    Se a situação de credito do cliente for ruim e ele tiver uma compra – risco alto.
    Se a situação de credito do cliente for ótima e ele não tiver nenhuma compra –
    risco médio.
    Se a situação de credito do cliente for boa e ele não tiver nenhuma compra – risco
    alto.
    Se a situação de credito do cliente for ruim e ele não tiver nenhuma compra – risco
    muito alto.
    Obs : o que caracteriza o cliente ter uma compra é existir fatura com o seu id.

    Resposta
  4. Rodrigo Prado

    E ai Tio, cade a resposta do desafio e das perguntas do Adler sobre os comandos de ranking? rsrs

    Valeu!

    Resposta

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.