| 36 | SELECT |
| 37 | hb.building_id AS Building, |
| 38 | hb.city AS City, |
| 39 | COUNT(r.room_number) AS Total_Rooms, |
| 40 | COUNT(CASE |
| 41 | WHEN res.start_date <= '2025-01-15' AND |
| 42 | (res.end_date >= '2025-01-01' OR res.end_date IS NULL) |
| 43 | THEN 1 END) AS Occupied_Rooms, |
| 44 | ROUND( |
| 45 | (COUNT(CASE |
| 46 | WHEN res.start_date <= '2025-01-15' AND |
| 47 | (res.end_date >= '2025-01-01' OR res.end_date IS NULL) |
| 48 | THEN 1 END) / COUNT(r.room_number)) * 100, |
| 49 | 2 |
| 50 | ) AS Utilization_Percentage |
| 51 | FROM |
| 52 | Hotel_Building hb |
| 53 | LEFT JOIN Room r ON hb.building_id = r.building_id |
| 54 | LEFT JOIN Reservation res ON r.room_number = res.room_number |
| 55 | AND r.building_id = res.building_id |
| 56 | AND (res.start_date <= '2025-01-15' AND |
| 57 | (res.end_date >= '2025-01-01' OR res.end_date IS NULL)) |
| 58 | GROUP BY |
| 59 | hb.building_id, hb.city |
| 60 | ORDER BY |
| 61 | Utilization_Percentage DESC; |
| 62 | |