-- 个人理解:从6月12日开始  连续入住多晚的客户

SELECT
    c.user_id
    ,c.room_id
    ,g.room_type
    ,DATEDIFF(checkout_time, checkin_time) AS days
FROM 
    checkin_tb c 
    INNER JOIN guestroom_tb g ON c.room_id = g.room_id
WHERE 
    c.checkin_time LIKE '%06-12%'  -- 从6月12日开始 
    AND DATEDIFF(checkout_time, checkin_time) >= 2  -- 连续入住多晚
GROUP BY 
    c.user_id 
    ,c.room_id
    ,g.room_type 
    ,DATEDIFF(checkout_time, checkin_time)
ORDER BY days ASC, c.room_id ASC, c.user_id DESC  -- 提交代码时,需要排序
;

datediff():计算两个日期之间差;只计算日期部分的差异,不计算时间部分

SELECT DATEDIFF('2024-08-23', '2024-08-20');  -- 输出: 3
SELECT DATEDIFF('2024-08-23 15:30:45', '2024-08-20 10:00:00');  -- 输出: 3

END