mysql 中 where 、 group by 、having、order by 的执行顺序
2018-02-28 10:20
666 查看
mysql中这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。首先where将最原始记录中不满足条件的记录删除(所以应该在where语句中尽量的将不符合条件的记录筛选掉,这样可以减少分组的次数)然后通过Group By关键字后面指定的分组条件将筛选得到的视图进行分组 接着系统根据Having关键字后面指定的筛选条件,将分组视图后不满足条件的记录筛选掉最后按照Order By语句对视图进行排序,这样最终的结果就产生了。
having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。而having子句在聚合后对组记录进行筛选。
having可以用聚合函数,如having sum(money) > 1000凡是在group by后面出现的字段,必须同时在select后面出现; 凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面.having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。SELECT user_type,is_admin ,SUM(id) FROM saut_m_user
WHERE id > 100
GROUP BY user_type,is_admin
HAVING SUM(status) < 500
ORDER BY is_admin ASC
having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。而having子句在聚合后对组记录进行筛选。
having可以用聚合函数,如having sum(money) > 1000凡是在group by后面出现的字段,必须同时在select后面出现; 凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面.having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。SELECT user_type,is_admin ,SUM(id) FROM saut_m_user
WHERE id > 100
GROUP BY user_type,is_admin
HAVING SUM(status) < 500
ORDER BY is_admin ASC
相关文章推荐
- Group By 和 Having, Where ,Order by语句的执行顺序
- Group By和Having,Where,Order by语句的执行顺序
- Group By 和 Having, Where ,Order by语句的执行顺序
- Group By 和 Having, Where ,Order by语句的执行顺序(转载)
- 当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序
- hive的strict模式;where,group by,having,order by同时使用的执行顺序
- hive的strict模式;where,group by,having,order by同时使用的执行顺序
- Oracle数据库-where, group by, having, order by语句的执行顺序
- Group By 和 Having, Where ,Order by语句的执行顺序:
- select, from, where, group by, having, order by 的执行顺序
- SQL中Group By, Having, Where, Order by几个语句的执行顺序
- select、from、where、group by、having、order by执行顺序
- Group By 和 Having, Where ,Order by语句的执行顺序(转载)
- where, Group by,having,order by的执行顺序
- Oracle数据库-where, group by, having, order by语句的执行顺序
- Group By 和 Having, Where ,Order by语句的执行顺序:
- [mysql] select的子句 where,group by, having, order by, limit的使用顺序及实例
- Group By 和 Having, Where ,Order by语句的执行顺序
- Group By 和 Having, Where ,Order by执行顺序
- 当一个SQL语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序