即使看起来正确,SQL也会出错

发生错误,我试图看出什么是错的,无济于事。请帮忙

 SELECT UserId, AVG(Total) AS AvgOrderTotal
FROM Invoices
HAVING COUNT(OrderId) >= 1
1
投票

你错过了GROUP BY

SELECT UserId, AVG(Total) AS AvgOrderTotal
FROM Invoices
GROUP BY UserId
HAVING COUNT(OrderId) >= 1

假设OrderId永远不是NULLHAVING是多余的,所以也许这就足够了:

SELECT UserId, AVG(Total) AS AvgOrderTotal
FROM Invoices
GROUP BY UserId;