题解 | 查询连续入住多晚的客户信息?

查询连续入住多晚的客户信息?

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子句中不能使用别名

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 18:30
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
07-17 12:07
门头沟学院 Java
勇敢牛牛不怕困难
投递OPPO等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务