题解 | #牛客的课程订单分析(二)#

牛客的课程订单分析(二)

http://www.nowcoder.com/practice/4ca4137cb490420cad06d2147ae67456

借此题,写一下sql语句的执行顺序。知其然知其所以然。

  1. SELECT user_id
  2. from order_info
  3. where date >= '2025-10-15' and status = 'completed' and product_name in ('C++','Python','Java')
  4. group by user_id
  5. having count(id) >= 2
  6. order by user_id asc;

sql各关键字执行顺序:(从上到下执行,会在每个执行过程产生临时表供下一个步骤使用)
- 2:执行from、join等连接表字段(确定表)
- 3:根据where条件对表中记录进行过滤
- 4:对3中执行过程中的临时表,进行聚合
- 5:having语句,在4的聚合条件下,进行having条件过滤
- 6:select语句,在5中选择哪些表字段
- 7:排序,返回最终查询结果

全部评论

相关推荐

等闲_:感觉有好多地方会被问穿,mysql存储向量这个方案问题应该很大的,如果深问的的话,为什么不用es,不用pg,不用mivus,分块策略是怎么做的,向量化是怎么向量化的,稠密向量还是稀疏向量,再深问余弦相似度,HSWM算法,Bm25算法,为什么不用混合检索或者Rank重排序优化?其他的项目不停机分库分表咋实现的,切库过程中数据有diff的话有没有补偿策略?既然有了分库分表了有没有碰到业务上不好优化的慢sql,让这个sql读从库?而且点评的话,最好自己压测过,要不这个数据也不好解释。现在就27的情况来看,很多同学已经有了中大厂实习,这个节点也会偏向这些有大厂实习的92同学,而且hc也不多,所以坚持海投吧
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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