Revisão – Prestador de serviços imobiliários
Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 51 de 72.
Desafio
MédioTabelas e colunas disponíveis:
real_estate:asset_id,value,datepotential:asset_id,forecast
Alguns analistas preveem qual será o crescimento dos ativos imobiliários. Queremos verificar se a previsão deles é verdadeira.
Para cada ativo na tabela real_estate, calcule a razão entre o value de uma data mais recente e o valor de uma data mais antiga.
Por exemplo, se houver um ativo cujo valor em 2022-01-01 era 5 e em 2022-05-01 era 10, então essa razão é 10/5 = 2.
Ignore todas as comparações em que a diferença de dias entre as duas datas seja menor que 101.
Há muitas datas para cada ativo, portanto há muitas razões para comparar. mantenha apenas a razão maior para cada ativo.
Por fim, divida essa razão pela previsão correspondente da tabela potential (chame esse campo de ratio_forecast) e ordene os resultados em ordem decrescente.
O resultado final deve conter asset_id e ratio_forecast.
Mantenha apenas os ativos cujo ratio_forecast seja maior que 1.
Observação: Para obter um resultado decimal da operação de divisão (/), às vezes é necessário multiplicar o numerador por 1.0.
Por exemplo, em vez de a / b, use a * 1.0 / b para obter o resultado decimal (quando a e b são variáveis)
Experimente você mesmo
-- Consulta externa: divida o número calculado abaixo pelo correspondente da outra tabela
SELECT potential.asset_id, ____ AS ratio_forecast
FROM (
-- Consulta interna: emparelhe a tabela consigo mesma para que uma linha mais antiga possa ser comparada a uma mais nova
SELECT r1.asset_id, ____ AS ratio
FROM real_estate AS r1
JOIN real_estate AS r2 ON ____
-- Mantenha apenas os pares que estão suficientemente distantes no tempo
WHERE JULIANDAY(r2.date) - JULIANDAY(r1.date) > ____
-- Uma linha de resultado por grupo, mantendo apenas a única maior comparação
GROUP BY r1.asset_id
) AS actual
JOIN potential ON ____
WHERE ratio_forecast > 1
ORDER BY ____Todas as lições de Fundamentos
4Mais palavras-chave
A palavra-chave INA palavra-chave BETWEENA palavra-chave LIKEA palavra-chave ASRecapitulação - Modelos de celulares2Condições
Noções básicas de condiçõesA palavra-chave ANDA palavra-chave ORA palavra-chave NOTCombinação de várias condiçõesParêntesesBooleanos3Formato de retorno específico
Valores nulosOrdenar resultados - Parte 1Ordenar resultados - Parte 2Recapitulação - Empresa de segurança cibernéticaLimitar o número de registrosRecapitulação - Fábrica de veículos6Desafios introdutórios
Revisão - Eleição parlamentarRevisão - Prisão criminal pela políciaRevisão - Recipiente de bebidas de barRevisão - Projetar novas colunas9Múltiplas tabelas
JOIN básico – Parte 1JOIN básico – Parte 2Revisão – JOINAuto-JOINRevisão – Auto-JOINUNIONSimplifique consultas com a palavra-chave WITHRevisão – Consultas com WITHRevisão – Prestador de serviços imobiliáriosPratique por conta própria: Playground de SQL