我需要编写一个SQL查询来查找已付款3次以上且单笔付款超过70,000美元的客户的客户数量。
到目前为止,这是我提出的,仅将所有付款都超过70000的customerNumber分组。不允许使用交集。
SELECT customernumber FROM CLASSICMODELS.PAYMENTS
where amount > 70000
group by customerNumber
having count(*) > 3
最佳答案
将谓词移至HAVING
子句:
SELECT customernumber
FROM CLASSICMODELS.PAYMENTS
GROUP BY customerNumber
HAVING COUNT(*) > 3 AND COUNT(CASE WHEN amount > 70000 THEN 1 END) = 1
COUNT
子句中HAVING
的条件聚合捕获具有customerNumber
单行的amount > 70000
组。关于mysql - 在不使用交集的情况下获取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35186331/