题解 | #纠错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 广东
为啥要用那两个字段排序呀~
点赞 回复 分享
发布于 2023-12-07 17:39 山东
请教大神为什么group by不可以使用别名,having可以,THX! 您写的having items,按照查询顺序,having这里不是还没有items嘛
点赞 回复 分享
发布于 2022-06-07 20:31

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
评论
15
5
分享

创作者周榜

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