题解 | #纠错3#

纠错3

http://www.nowcoder.com/practice/3870c9bca7a4406f899af3e903b8bf51

  • 先执行GROUP BY order_num,对所有字段按照order_num 分组,
  • 再执行HAVING items >= 3,对分组进行过滤,即查询出满足items大于等于3的记录,
  • 再执行SELECT order_num, COUNT(order_num) AS items,
  • 最后执行ORDER BY items, order_num;对记录进行排序,默认是升序。
SELECT order_num, COUNT(order_num) AS items 
FROM OrderItems 
GROUP BY order_num 
HAVING items >= 3
ORDER BY items, order_num;

附DQL执行顺序

alt

全部评论
having 不是在 select 执行之前吗,怎么having可以使用select的别名
1 回复 分享
发布于 2023-02-10 17:32 广东
请教大神为什么group by不可以使用别名,having可以,THX! 您写的having items,按照查询顺序,having这里不是还没有items嘛
点赞 回复 分享
发布于 2022-06-07 20:31
为啥要用那两个字段排序呀~
点赞 回复 分享
发布于 2023-12-07 17:39 山东

相关推荐

重生2012之我是java程序员:换个稍微正式点的照片吧
点赞 评论 收藏
分享
14 5 评论
分享
牛客网
牛客企业服务