-- 选择用户ID、房间ID、房间类型和计算入住天数
SELECT 
    c.user_id,          -- 用户ID
    c.room_id,          -- 房间ID
    g.room_type,        -- 房间类型
    TIMESTAMPDIFF(DAY, checkin_time, checkout_time) + 1 AS days  -- 计算入住天数,包括入住和退房当天
FROM 
    checkin_tb c        -- 从 checkin_tb 表中选择数据,并使用别名 c
JOIN 
    guestroom_tb g      -- 使用 INNER JOIN 连接 guestroom_tb 表,并使用别名 g
ON 
    c.room_id = g.room_id  -- 连接条件:checkin_tb 表的 room_id 与 guestroom_tb 表的 room_id 相等
WHERE 
    DATE(c.checkin_time) >= '2022-06-12'  -- 过滤条件:入住时间在2022年6月12日或之后
    AND TIMESTAMPDIFF(DAY, checkin_time, checkout_time) > 0  -- 过滤条件:入住天数大于0
ORDER BY 
    4, 2, 1 DESC;       -- 按入住天数(第4列)、房间ID(第2列)、用户ID(第1列)的顺序降序排序