-- 选择用户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列)的顺序降序排序