首页 > 解决方案 > SQL 给出错误,即使看起来是正确的

问题描述

给出一个错误,我试图看看有什么问题,但无济于事。请帮忙

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

标签: mysqlsql

解决方案


你错过了GROUP BY

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

假设OrderIdis never NULL, theHAVING是多余的,所以也许这就足够了:

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

推荐阅读