题解 | 查询下订单用户访问次数?

查询下订单用户访问次数?

https://www.nowcoder.com/practice/32bc1e0fce2343ad934b76a025e09fc5

WITH filtered_orders AS (
    SELECT DISTINCT user_id  
    FROM order_tb 
    WHERE order_time >= '2022-09-02' 
      AND order_time < '2022-09-03'
),
filtered_visits AS (
    SELECT user_id, COUNT(*) AS visit_nums
    FROM visit_tb 
    WHERE visit_time >= '2022-09-02' 
      AND visit_time < '2022-09-03'
    GROUP BY user_id
)
SELECT fv.user_id, fv.visit_nums
FROM filtered_visits fv
JOIN filtered_orders fo ON fv.user_id = fo.user_id
order by visit_nums desc

先过滤再join,用两个cte,一个代表过滤order,一个代表过滤访问,之后再join。注意笛卡尔积。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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