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 uma resposta para cleiton Cancelar resposta

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.