GROUP BY 和COUNT聚合函数执行顺序

只有一列数据,用GROUP BY 分组后求count,结果报错。我理解的group by和select的执行顺序不一样,如果只有一列数据的话,应该怎么改呢?

img

GROUP BY玩法:

SELECT COUNT(1)
FROM(
SELECT PRODUCT_TYPE 
FROM 表a 
GROUP BY PRODUCT_TYPE) AS Temp

DISTINCT也成:

SELECT COUNT(DISTINCT PRODUCT_TYPE)
FROM 表a