题解 | #为什么having后可以使用select定义的#

学生数不大于2的学校的学生情况

https://www.nowcoder.com/practice/183822a9122642c491c61ec4d479fddb

select university,count(device_id) as cnt,group_concat(device_id  separator ';') as device_list
from user_profile
group by university
having cnt<=2;
/* count(device_id)<=2;*/

众所周知,select 的执行顺序在having之后,其他关系型数据库都不行,但是MySQL例外。

执行和解释不是一个意思,在执行前已经有了临时表,所以可以使用别名

在MySQL5.7.5后ONLY_FULL_GROUP_BY sql mode 这个默认不开启,则可以有sql的扩展。

全部评论

相关推荐

11-07 16:07
深圳大学 运营
前端飞升:学长,阿里不是卡双非吗,我深也能去吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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