SQL выдает ошибку, хотя кажется правильным

#mysql #sql

#mysql #sql

Вопрос:

Выдавая ошибку, я пытался понять, что не так, но безрезультатно. Пожалуйста, помогите

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

Комментарии:

1. группируйте по!!!!!!! и count должен быть одним из столбцов!!!!

Ответ №1:

Вам не хватает GROUP BY :

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

Предполагая, что OrderId это никогда NULL не бывает, HAVING это избыточно, поэтому, возможно, этого достаточно:

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