Recap - Real Estate Contractor
Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 51 de 72.
Desafio
MédioTabelas e colunas disponíveis:
<strong>real_estate</strong>:<strong>asset_id</strong>,<strong>value</strong>,<strong>date</strong><strong>potential</strong>:<strong>asset_id</strong>,<strong>forecast</strong>
Alguns analistas preveem qual será o crescimento de 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 em dias entre as duas datas for menor que 101.
Existem muitas datas para cada ativo, portanto, há muitas razões para comparar. Mantenha apenas a maior razão para cada ativo.
Por fim, divida essa razão pela previsão correspondente da tabela potential (chame este campo de ratio_forecast) e ordene os resultados em ordem decrescente.
O resultado final deve ter o asset_id e o ratio_forecast.
Mantenha apenas os ativos onde o ratio_forecast for maior que 1.
Nota: Para obter uma solução decimal em uma 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 forem 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
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns9Multiple tables
Basic Join Part 1Basic Join Part 2Recap - JoinSelf joinRecap - Self JoinUnionSimplify queries, WITH keywordRecap - With QueriesRecap - Real Estate ContractorPratique por conta própria: Playground de SQL