Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 2737. Mostrar todas as postagens
Mostrando postagens com marcador 2737. Mostrar todas as postagens

quarta-feira, 22 de julho de 2020

URI (BEECROWD) - 2737 - Advogados - SQL - PostgreSQL

Outro exercício de SQL que soluciono e posto aqui. Veja a seguir.

Antes de resolver qualquer problema de SQL do URI, recomendamos seguir os seguintes passos:

  1. Ler todo enunciado do problema.
  2. Ler os tópicos do fórum em caso de dúvidas
  3. Preparar o esquema, conforme fornecido no problema. Obs.: muitas vezes o pessoal coloca o código de criação do esquema no fórum, então é só copiar!

Plataforma: URI (BEECROWD)

Problema2737

Solução:

A solução que encontrei neste exercício foi combinar consultas utilizando UNION ALL. Esse link é útil como uma primeira referência sobre o assunto: https://www.postgresql.org/docs/8.3/queries-union.html.

A primeira consulta seleciona os dados do advogado que tem mais clientes. Na verdade seleciona todos advogados e ordena em ordem decrescente, mas utilizando LIMIT 1 acaba pegando só o que tem mais clientes.

A segunda consulta faz a mesma coisa, mas ordena com customers_number ASC, ou seja, do menor para o maior. Também utilizei LIMIT 1 para pegar só o que tem menos clientes.

A terceira consulta pega a média de clientes, arredondando o valor sem casas decimais através do uso d função round.

Outras soluções poderiam envolver o cast do valor médio para o tipo integer, assim não precisaria arredondar. Também seria possível usar operadores de agregação (min e max) nas duas primeiras consultas.

O que você achou desta solução? Veja abaixo.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
(SELECT name, customers_number
FROM lawyers
ORDER BY customers_number DESC
LIMIT 1)

UNION ALL

(SELECT name, customers_number
FROM lawyers
ORDER BY customers_number ASC
LIMIT 1)

UNION ALL

(SELECT 'Average', round(AVG(customers_number), 0)
FROM lawyers)

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas