Considerando que, em um sistema de vendas, haja a tabela de
nome vendas_completo(vendedor, regiao, valor) , em
que cada linha registre uma venda feita por determinado
vendedor em sua região, assinale a opção em que é corretamente
apresentada a consulta SQL que, sem usar JOIN , apresenta como
resultado exatamente as seguintes quatro colunas: vendedor;
regiao; total_vendas , correspondente à soma de valor por
vendedor; e ranking_regiao , de modo que empates estejam na
mesma posição e “pulem” postos.
✂️ a) SELECT DISTINCT
vendedor,
regiao,
SUM(valor) OVER (PARTITION BY vendedor,
regiao) AS total_vendas,
RANK() OVER (
PARTITION BY regiao
ORDER
BY
SUM(valor) OVER ( PARTITION BY
vendedor, regiao) DESC
) AS ranking_regiao
FROM vendas_completo; ✂️ b) SELECT
vendedor,
regiao,
SUM(valor) AS total_vendas,
RANK() OVER (
PARTITION BY regiao
ORDER BY SUM(valor) DESC
) AS ranking_regiao
FROM vendas_completo
GROUP BY vendedor, regiao; ✂️ c) SELECT
vendedor,
regiao,
SUM(valor) OVER (PARTITION BY vendedor) AS
total_vendas,
DENSE_RANK() OVER (
PARTITION BY regiao
ORDER
BY
SUM(valor) OVER (PARTITION BY
vendedor) DESC
) AS ranking_regiao
FROM vendas_completo
GROUP BY vendedor, regiao; ✂️ d) SELECT DISTINCT
vendedor,
regiao,
SUM(valor) OVER (PARTITION BY vendedor) AS
total_vendas,
ROW_NUMBER() OVER (
PARTITION BY regiao
ORDER
BY
SUM(valor) OVER (PARTITION BY
vendedor) DESC
) AS ranking_regiao
FROM vendas_completo; ✂️ e) SELECT
vendedor,
regiao,
SUM(valor) OVER (PARTITION BY vendedor,
regiao) AS total_vendas,
ROW_NUMBER() OVER (
PARTITION BY regiao
ORDER
BY
SUM(valor) OVER (PARTITION BY
vendedor, regiao) DESC
) AS ranking_regiao
FROM vendas_completo;