题解 | #牛客的课程订单分析(三)#
牛客的课程订单分析(三)
http://www.nowcoder.com/practice/4ae8cff2505f4d7cb68fb0ec7cf80c57
题意:买了两本书及以上的你都给我返回回来,不是想知道哪些人而是这些人他都买了什么书
由于根据user_id分组之后返回同一user_id的用户数据只有一列,而题目要求返回多列
步骤一 先做子查询找出符合过滤条件的user_id(这就是起码下了两单的user_id)
步骤二 题目要求这个用户在过滤条件之后,下的那些单一一列出来
那么外查询就将这个用户(步骤一的用户)做条件过滤
select * from order_info
where user_id in
(select user_id from order_info
where date>'2025-10-15'
and product_name in ('C++','Java','Python')
and status='completed'
group by user_id
having count(*)>=2)
and date>'2025-10-15'
and status='completed'
and product_name in ('C++','Java','Python')
order by id