Files
alpinebits_python/sql_analysis.md

2.0 KiB


select sum(room.total_revenue::float)
	
	from alpinebits.conversions as con 
	join alpinebits.conversion_rooms as room on room.conversion_id = con.id
	join alpinebits.reservations as res on res.id = con.reservation_id
	
	
	
	where con.reservation_id is not null and room.total_revenue is not null
	;

    ```

select res.created_at,directly_attributable ,con.reservation_date, res.start_date, room.arrival_date,res.end_date, room.departure_date, reservation_type, booking_channel, advertising_medium, guest_first_name,guest_last_name, total_revenue,is_regular, room.room_status

from alpinebits.conversions as con 
join alpinebits.conversion_rooms as room on room.conversion_id = con.id
join alpinebits.reservations as res on res.id = con.reservation_id
join alpinebits.conversion_guests as guest on guest.guest_id = con.guest_id



where con.reservation_id is not null and room.total_revenue is not null

order by reservation_date;

select hotel_id

from alpinebits.conversions as con 
join alpinebits.conversion_rooms as room on room.conversion_id = con.id
join alpinebits.reservations as res on res.id = con.reservation_id



where con.reservation_id is not null and room.total_revenue is not null
and res.start_date <= room.arrival_date + INTERVAL '7 days'
order by reservation_date;

select round(sum(room.total_revenue::numeric)::numeric, 3), con.advertising_medium

from alpinebits.conversions as con 
join alpinebits.conversion_rooms as room on room.conversion_id = con.id




where room.total_revenue is not null
and con.reservation_date > '2025-01-01'
group by con.advertising_medium
;

select sum(room.total_revenue::float), is_regular

from alpinebits.conversions as con 
join alpinebits.conversion_rooms as room on room.conversion_id = con.id
join alpinebits.reservations as res on res.id = con.reservation_id
join alpinebits.conversion_guests as g on g.guest_id = con.guest_id



where room.total_revenue is not null
and directly_attributable = true
group by is_regular
;