Recap - Real Estate Contractor
Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası. Ders 51 / 72.
Görev
OrtaKullanılabilir tablolar ve sütunlar:
<strong>real_estate</strong>:<strong>asset_id</strong>,<strong>value</strong>,<strong>date</strong><strong>potential</strong>:<strong>asset_id</strong>,<strong>forecast</strong>
Bazı analistler gayrimenkul varlıklarının büyümesinin ne olacağını tahmin ediyor. Tahminlerinin doğru olup olmadığını kontrol etmek istiyoruz.
real_estate tablosundaki her varlık için, newer bir tarihteki value değerinin older bir tarihteki değere oranını hesaplayın.
Örneğin, 2022-01-01 tarihindeki değeri 5 ve 2022-05-01 tarihindeki değeri 10 olan bir varlık varsa, that oran 10/5 = 2 olur.
İki tarih arasındaki gün farkının 101'den küçük olduğu tüm karşılaştırmaları göz ardı edin.
Her varlık için birçok tarih vardır, bu nedenle karşılaştırılacak çok sayıda oran bulunur. Her varlık için only en büyük oranı Keep edin.
Son olarak, bu oranı potential tablosundaki matching forecast değerine divide edin (bu alanı ratio_forecast olarak adlandırın) ve sonuçları azalan düzende ORDER yapın.
Nihai result, asset_id ve ratio_forecast alanlarını içermelidir.
WHERE ratio_forecast değerinin 1'den büyük olduğu varlıkları only tutun.
Not: divide işleminden (/) ondalıklı bir sonuç almak için bazen payı 1.0 ile çarpmanız gerekir.
Örneğin, ondalıklı sonucu almak için (a ve b değişken olduğunda) a / b yerine a * 1.0 / b kullanın.
Kendin dene
-- Dış sorgu: aşağıda hesaplanan sayıyı diğer tablodaki eşleşen sayıya böl
SELECT potential.asset_id, ____ AS ratio_forecast
FROM (
-- İç sorgu: tabloyu kendisiyle eşleştir ki daha eski bir satır daha yeni bir satırla karşılaştırılabilsin
SELECT r1.asset_id, ____ AS ratio
FROM real_estate AS r1
JOIN real_estate AS r2 ON ____
-- Yalnızca zamanda yeterince uzak olan çiftleri tut
WHERE JULIANDAY(r2.date) - JULIANDAY(r1.date) > ____
-- Grup başına bir sonuç satırı, yalnızca tek en büyük karşılaştırmayı tutarak
GROUP BY r1.asset_id
) AS actual
JOIN potential ON ____
WHERE ratio_forecast > 1
ORDER BY ____Temeller bölümündeki tüm dersler
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 ContractorKendi başına pratik yap: SQL playground