Início > Desafio do Gordo, T-SQL > DESAFIO DO GORDO – Ranking de Clientes

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.

Anúncios
Categorias:Desafio do Gordo, T-SQL
  1. cleiton
    18/07/2012 às 2:28

    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

    • 18/07/2012 às 8:51

      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.

  2. Adler
    18/07/2012 às 8:00

    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

    • 18/07/2012 às 8:50

      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.

  3. Marcelo
    03/08/2012 às 20:42

    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.

    • 14/08/2012 às 11:13

      Fala grande Marcelo, beleza?

      Velho, não sou especialista em PL/SQL para poder lhe ajudar nessa tarefa.

      Tenta postar sua duvida no grupo http://www.sqlmanics.com.br.

      Grande abraço.

  4. Rodrigo Prado
    01/11/2012 às 11:45

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

    Valeu!

  1. No trackbacks yet.

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 )

Imagem do Twitter

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

Foto do Facebook

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

Foto do Google+

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

Conectando a %s

%d blogueiros gostam disto: