SELECT user_id,
room_id,
room_type,
DATEDIFF(checkout_time,checkin_time) AS days
FROM guestroom_tb JOIN checkin_tb USING(room_id)
WHERE checkin_time>='2022-06-12' 
HAVING days>1 
ORDER BY days,room_id,user_id DESC;

注意

1. HAVING子句中要么是GROUP BY 中的列,要么是聚合函数

2.不用对user_id 进行分组,因为本来就是唯一的

3.DATEDIFF中必须大时间在前,小时间在后,算出来的是两个时间(不论什么格式)的天数之差。

而TIMESTAMPDIFF对时间顺序没有要求

4.WHERE子句中不能使用别名