我有一个带有列userid的回收表,以及“食物”、“部门”等现金回收表的类别--我想要计算每个用户it的回收款类别,所以我使用了COUNT(cashback.report_store_categoryname)作为Total_AOV现在想要的百分比,所以我使用了Total_AOV*100/SUM(Total_AOV)。
SELECT
cashback.userid, COUNT(cashback.report_store_categoryname) as Total_AOV,
CAST(CASE WHEN Total_AOV*100/SUM(Total_AOV)>50 THEN 1 ELSE 0 END AS bit) as per
FROM cashback
WHERE cashback_status = 'Confirmed'
GROUP BY cashback.userid
LIMIT 10;但这给了我一个错误
输出:聚合函数调用可能没有嵌套聚合函数或窗口函数
发布于 2021-08-30 14:29:02
在纯标准的ISO SQL中,可以编写:
SELECT
cashback.userid, COUNT(cashback.report_store_categoryname) as Total_AOV,
CAST(CASE WHEN (COUNT(cashback.report_store_categoryname))*100/SUM(COUNT(cashback.report_store_categoryname)) OVER()>50 THEN 1 ELSE 0 END AS bit) as per
FROM cashback
WHERE cashback_status = 'Confirmed'
GROUP BY cashback.useridhttps://stackoverflow.com/questions/68985496
复制相似问题