题解 | 查询连续入住多晚的客户信息?
查询连续入住多晚的客户信息?
https://www.nowcoder.com/practice/5b4018c47dfd401d87a5afb5ebf35dfd
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子句中不能使用别名