SQL中CASE WHEN和GROUP BY执行顺序
时间: 2024-05-28 20:13:50 浏览: 426
分组查询GROUP BY的使用与SQL执行顺序的讲解
在SQL中,执行顺序是先执行FROM子句中的表,然后执行WHERE子句的筛选,接着执行GROUP BY分组,然后执行SELECT子句中的表达式和函数,最后执行ORDER BY排序。
在此基础上,CASE WHEN语句的执行顺序是在SELECT子句之后,但在ORDER BY之前。也就是说,CASE WHEN语句可以用于SELECT子句中的表达式和函数,但它们不会影响GROUP BY分组。
因此,如果您想在GROUP BY分组之前使用CASE WHEN语句进行筛选或计算,可以使用子查询或通用表表达式(CTE)来实现。
阅读全文