Menu
Coddy logo textTech

Tekrar - Gayrimenkul Müteahhidi

Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası. Ders 51 / 72.

challenge icon

Görev

Orta

Mevcut tablolar ve sütunlar:

  • real_estate: asset_id, value, date
  • potential: asset_id, forecast

Bazı analistler gayrimenkul varlıklarının büyümesinin ne kadar olacağını tahmin eder. Tahminlerinin doğru olup olmadığını kontrol etmek istiyoruz. 

real_estate tablosundaki her varlık için, daha yeni bir tarihteki value ile daha eski bir tarihteki değer arasındaki oranı hesaplayın.

Örneğin, değeri 2022-01-01 tarihinde 5 ve 2022-05-01 tarihinde 10 olan bir varlık varsa, 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ı yok sayın.

Her varlık için birçok tarih olduğundan karşılaştırılacak birçok oran vardır. Her varlık için yalnızca en büyük oranı tutun.

Son olarak, bu oranı potential tablosundaki eşleşen tahmine bölün (bu alana ratio_forecast adını verin) ve sonuçları azalan düzende sıralayın.

Sonuçta asset_id ve ratio_forecast bulunmalıdır.

Yalnızca ratio_forecast değeri 1'den büyük olan varlıkları tutun.

 

Not: Bölme işleminden (/) ondalık sonuç elde etmek için bazen payı 1.0 ile çarpmanız gerekir.

Örneğin, ondalık sonucu elde etmek için a / b yerine a * 1.0 / b kullanın (a ve b değişken olduğunda).

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 zaman olarak yeterince uzak olan çiftleri tut
    WHERE JULIANDAY(r2.date) - JULIANDAY(r1.date) > ____
    -- Her grup için bir sonuç satırı, yalnızca en büyük tek 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

Kendi başına pratik yap: SQL playground