Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção : - O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python; - Pra quem ainda não está familiarizado com a linguagem, um módulo é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( in...
Remover as duplicidades é um processo necessário para garantir a qualidade dos dados (Data Quality).
No dia-a-dia, quando preciso trazer os dados para analisar em uma plataforma analítica, tenho uma preocupação enorme com linhas duplicadas. Com vista, a não trazer informações inflacionadas ou inverdades.
Para remover as duplicidades, utilizo a função ROW_NUMBER().
Com a função ROW_NUMBER(), eu crio uma coluna que vai contar quantas vezes uma linha se repete e após essa contagem, eu armazeno o resultado em uma tabela temporária. Em seguida, Faço o SELECT na tabela temporária, trazendo somente as linhas onde contador=1.
Na função ROW_NUMBER() utilizamos as seguintes expressões:
ROW_NUMBER() : é a primeira declaração que informa que vamos usar a função e obrigatoriamente exige o uso do OVER() logo em seguida
OVER() : esta é uma expressão obrigatória que vem após a declaração do ROW_NUMBER(). Quando a usamos, é como se estivéssemos dizendo "Quero que o resultado seja contado sobre as regras desta expressão que escrevi dentro do parêntese".
PARTITION BY: Este comando indica quando a contagem deve ser reiniciada.
ORDER BY: Comando obrigatório que usamos para indicar por qual ordem a contagem deve se guiar.
No dia-a-dia, quando preciso trazer os dados para analisar em uma plataforma analítica, tenho uma preocupação enorme com linhas duplicadas. Com vista, a não trazer informações inflacionadas ou inverdades.
Para remover as duplicidades, utilizo a função ROW_NUMBER().
Com a função ROW_NUMBER(), eu crio uma coluna que vai contar quantas vezes uma linha se repete e após essa contagem, eu armazeno o resultado em uma tabela temporária. Em seguida, Faço o SELECT na tabela temporária, trazendo somente as linhas onde contador=1.
Na função ROW_NUMBER() utilizamos as seguintes expressões:
ROW_NUMBER() : é a primeira declaração que informa que vamos usar a função e obrigatoriamente exige o uso do OVER() logo em seguida
OVER() : esta é uma expressão obrigatória que vem após a declaração do ROW_NUMBER(). Quando a usamos, é como se estivéssemos dizendo "Quero que o resultado seja contado sobre as regras desta expressão que escrevi dentro do parêntese".
PARTITION BY: Este comando indica quando a contagem deve ser reiniciada.
ORDER BY: Comando obrigatório que usamos para indicar por qual ordem a contagem deve se guiar.
Eu tenho essa consulta: as partes marcadas em azul são linhas duplicadas
Eu vou usar a função ROW_NUMBER() para criar uma coluna que vai contar quantas vezes uma linha se repete.
Todas as colunas da minha consulta, vou colocar na expressão partition by.
SELECT
PRODUTO,QUANTIDADE,PRECO_UNIT,VALOR_TOTAL,DATA_AQUISICAO,IDPRODUTO,
ROW_NUMBER()
over(partition by PRODUTO,QUANTIDADE,PRECO_UNIT,VALOR_TOTAL,DATA_AQUISICAO,IDPRODUTO
order by IDPRODUTO )Coluna_Contador
FROM dbo.estoque ORDER BY produto
Eu vou selecionar somente as linhas onde Coluna_Contador=1 . Para fazer isso, preciso inserir esse select em uma tabela.
Como não quero criar uma tabela física, vou criar uma tabela temporária usando #
SELECT
PRODUTO,QUANTIDADE,PRECO_UNIT,VALOR_TOTAL,DATA_AQUISICAO,IDPRODUTO,
ROW_NUMBER()
over(partition by PRODUTO,QUANTIDADE,PRECO_UNIT,VALOR_TOTAL,DATA_AQUISICAO,IDPRODUTO
order by IDPRODUTO )Coluna_Contador
INTO #TABELA_TEMPORARIA -- Inserindo dados na tabela temporaria
FROM dbo.estoque ORDER BY produto
Fazer um SELECT na tabela temporaria para trazer os dados sem duplicidade
SELECT * FROM #TABELA_TEMPORARIA WHERE Coluna_Contador = 1
Comentários
Postar um comentário