Ôn tập về nhà thầu bất động sản
Thuộc phần Kiến thức cơ bản trong hành trình SQL của Coddy. Bài học 51 trên 72.
Thử thách
Trung bìnhCác bảng và cột hiện có:
real_estate:asset_id,value,datepotential:asset_id,forecast
Một số nhà phân tích dự báo mức tăng trưởng của các tài sản bất động sản. Chúng ta muốn kiểm tra xem dự báo của họ có chính xác không.
Với mỗi tài sản trong bảng real_estate, hãy tính tỷ lệ giữa value ở ngày mới hơn với giá trị ở ngày cũ hơn.
Ví dụ, nếu một tài sản có giá trị là 5 vào ngày 2022-01-01 và là 10 vào ngày 2022-05-01 thì tỷ lệ đó là 10/5 = 2.
Bỏ qua mọi phép so sánh mà khoảng cách giữa hai ngày nhỏ hơn 101 ngày.
Mỗi tài sản có nhiều ngày nên có nhiều tỷ lệ cần so sánh. Chỉ giữ lại tỷ lệ lớn nhất cho mỗi tài sản.
Cuối cùng, chia tỷ lệ này cho dự báo tương ứng từ bảng potential (gọi trường này là ratio_forecast) rồi sắp xếp kết quả theo thứ tự giảm dần.
Kết quả cuối cùng cần có asset_id và ratio_forecast.
Chỉ giữ lại những tài sản có ratio_forecast lớn hơn 1.
Lưu ý: Để phép chia (/) cho kết quả thập phân, đôi khi bạn cần nhân tử số với 1.0.
Ví dụ, thay vì dùng a / b, hãy dùng a * 1.0 / b để nhận kết quả thập phân (khi a và b là biến)
Tự làm thử
-- Truy vấn ngoài: chia số tính ở bên dưới cho số tương ứng trong bảng còn lại
SELECT potential.asset_id, ____ AS ratio_forecast
FROM (
-- Truy vấn trong: ghép bảng với chính nó để so sánh hàng cũ với hàng mới
SELECT r1.asset_id, ____ AS ratio
FROM real_estate AS r1
JOIN real_estate AS r2 ON ____
-- Chỉ giữ các cặp có khoảng cách thời gian đủ lớn
WHERE JULIANDAY(r2.date) - JULIANDAY(r1.date) > ____
-- Mỗi nhóm có một hàng kết quả, chỉ giữ kết quả so sánh lớn nhất
GROUP BY r1.asset_id
) AS actual
JOIN potential ON ____
WHERE ratio_forecast > 1
ORDER BY ____Tất cả bài học trong Kiến thức cơ bản
2Điều kiện
Kiến thức cơ bản về điều kiệnTừ khóa ANDTừ khóa ORTừ khóa NOTKết hợp nhiều điều kiệnDấu ngoặc đơnGiá trị logic3Định dạng giá trị trả về cụ thể
Giá trị nullSắp xếp kết quả phần 1Sắp xếp kết quả phần 2Ôn tập: Công ty an ninh mạngGiới hạn số bản ghiÔn tập: Nhà máy sản xuất xe6Thử thách nhập môn
Ôn tập: bầu cử quốc hộiÔn tập: cảnh sát bắt giữ tội phạmÔn tập: vật chứa đồ uống tại quầy barÔn tập: kỹ sư tạo cột mới9Nhiều bảng
Phép nối cơ bản phần 1Phép nối cơ bản phần 2Ôn tập về phép nốiPhép tự nốiÔn tập về phép tự nốiHợpĐơn giản hóa truy vấn bằng từ khóa WITHÔn tập về truy vấn WITHÔn tập về nhà thầu bất động sảnTự luyện tập: Playground SQL