SQL查询SUM()/100后不能使用HVAING?

select grp_id,sum(WRTOF_AMT) as pay from bass.DM_GRP_ACC_INFO_CHARGE_MM where stat_month=201904 group by grp_id having pay>0
此查询可以执行

select grp_id,sum(WRTOF_AMT)/100 as pay from bass.DM_GRP_ACC_INFO_CHARGE_MM where stat_month=201904 group by grp_id having pay>0
此查询为什么报错?

根据您提供的信息,错误可能是因为HAVING子句不能使用select语句中定义的别名“pay”。在SQL中,WHERE子句过滤原始数据,而HAVING子句过滤聚合结果。因此,我们需要使用SUM(WRTOF_AMT)/100的计算结果作为HAVING子句中的过滤条件。以下是修正后的查询语句:

select grp_id,sum(WRTOF_AMT)/100 as pay from bass.DM_GRP_ACC_INFO_CHARGE_MM where stat_month=201904 group by grp_id having sum(WRTOF_AMT)>0

请注意,我们已将HAVING子句中使用的别名修改为表达式的实际计算结果,以解决查询错误。