SQL中having不应该是在select之前执行吗

请看这条语句:在表table中以title分组并获得每组的个数。
最后的HAVING t>2这条我不理解,having的执行顺序在select之前,
而列“t”定义在select子句中,那么t在定义之前就使用不会出错吗?
(下面这条语句是正确的)

SELECT title, COUNT(title) AS t FROM table
GROUP BY title HAVING t >= 2

全部评论
查了半天也没啥结果 mysql就是这样规定的,可以在having中使用别名 select只是选出这些列,说明在select之前这些列都已经有了,可能不是在执行select的时候才去定义这些个别名吧。。。。。 大神出来辟谣吧
点赞 回复 分享
发布于 2017-11-06 11:33
我之前也有跟你一样的疑惑,https://segmentfault.com/q/1010000004921183,你看看这个解释,应该是不同的数据库处理方式不同,在mysql下你这条语句可以通过,而sqlserver下不能通过。
点赞 回复 分享
发布于 2017-11-06 10:42

相关推荐

认真搞学习:这个真喷不了,你是我见过最美的牛客女孩
点赞 评论 收藏
分享
04-15 23:42
中山大学 Java
ResourceUtilization:过几天楼主就会捧着一堆offer来问牛友们该怎么选辣
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务