Получить среднее значение значений строк каждого месяца и сгруппированных по пользователю

0

У меня есть эти таблицы:

Изображение 174551

Скрипка столов: http://sqlfiddle.com/#!9/18c65

С помощью этого запроса:

SELECT user_id AS user, round(AVG(cost_freight), 0) AS average FROM 'freights' GROUP BY user ORDER BY average ASC LIMIT 10

я получаю среднее количество грузов (cost_freight), сгруппированных по пользователю (значения, выделенные полужирным шрифтом, являются аутентифицированным пользователем):

Изображение 174551

Но теперь мне нужно получить среднее количество грузов (cost_freight) каждого месяца, сгруппированных пользователем, результат должен быть таким:

Изображение 174551

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

Я был бы очень признателен за вашу помощь.

Благодарю.

Теги:

1 ответ

0

Используйте один столбец (МЕСЯЦ (дата)) в группу. Попробуй это,

SELECT user_id AS user,MONTH(date), round(AVG(cost_freight), 0) AS average FROM 'freights' GROUP BY user,MONTH(date) ORDER BY average ASC LIMIT 10
  • 0
    это не работа, потому что мне нужно группировать по пользователю среднее значение каждого месяца, этот запрос не возвращает среднемесячное количество пользователей.
  • 0
    Я думаю, что следует изменить группу по столбцам, SELECT MONTH(date), user_id AS user,round(AVG(cost_freight), 0) AS average FROM грузов `GROUP BY MONTH (дата), пользователь ORDER BY Среднее ASC LIMIT 10`
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню