小编Dr.*_*rew的帖子

SELECT 和 GROUP BY 子句中的 SQL 计算字段

通常在查询我的 MS SQL Server 数据库时,我需要创建一个计算字段,例如

(CASE WHEN A.type = 'Workover' THEN 'Workover' 
      ELSE (CASE WHEN substring(C.category, 2, 1) = 'D' THEN 'Drilling' 
                 WHEN substring(C.category, 2, 1) = 'C' THEN 'Completion' 
                 WHEN substring(C.category, 2, 1) = 'W' THEN 'Workover' 
                 ELSE 'Other' 
            END)
END)
Run Code Online (Sandbox Code Playgroud)

然后我需要通过这个计算字段(等等)对我的结果进行分组。因此,我在 SELECT 和 GROUP BY 子句中进行了相同的计算。SQL 服务器实际上执行了两次这些计算,还是它足够聪明,只执行一次?

sql-server

12
推荐指数
2
解决办法
3万
查看次数

标签 统计

sql-server ×1