SQL 刷题/【携程】统计指定日期下单用户的访问次数
上一题下一题中等通过率 50%

【携程】统计指定日期下单用户的访问次数

JOIN 连接聚合函数GROUP BY子查询日期函数DISTINCT用户行为分析面试真题

题目描述

来源:携程 SQL 面试真题

某商城需要查询 2022 年 9 月 2 日下单用户在当天的访问次数。

数据表

order_tb 订单信息表

字段类型说明
order_idBIGINT订单 ID
user_idBIGINT用户 ID
order_priceDECIMAL订单金额
order_timeDATETIME订单创建时间

visit_tb 用户访问信息表

字段类型说明
info_idBIGINT访问信息 ID
user_idBIGINT用户 ID
visit_timeDATETIME访问时间
leave_timeDATETIME离开时间

统计口径

  • 先找出 2022 年 9 月 2 日至少下过一笔订单的用户。
  • 同一用户当天下多笔订单时,在下单用户集合中只保留一次。
  • 访问次数按 2022 年 9 月 2 日的访问记录行数统计,一次“访问至离开”计 1 次。
  • 当天下单但没有访问记录的用户也需要输出,访问次数记为 0。

题目要求

  • 输出用户 ID 和当天访问次数。
  • 按访问次数降序排列;访问次数相同时按 user_id 升序排列。

期望输出列

列名说明
user_id2022 年 9 月 2 日下单的用户 ID
visit_nums该用户在 2022 年 9 月 2 日的访问次数

数据样例

当前运行环境
order_idPKBIGINTuser_idBIGINTorder_priceDECIMAL(12, 2)order_timeDATETIME
101113802022-09-01 09:00:00
102122002022-09-01 10:00:00
103132602022-09-01 12:00:00
104111002022-09-02 11:00:00
105121502022-09-02 12:00:00
1061212002022-09-02 13:00:00
10711602022-09-03 09:00:00
108133802022-09-03 09:30:00
输入数据显示 8 / 8
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里