Столбец формы среднего значения — MySQL

#mysql

#mysql

Вопрос:

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

  ---- --------- ------ ---------- 
| ID | ID_USER | NOTE | QUESTION |
 ---- --------- ------ ---------- 
|  1 |    12   |   3  |     1    |
|  2 |    31   |   2  |     1    |
|  3 |    12   |   9  |     1    |
|  4 |    31   |   8  |     2    |
|  5 |    12   |  10  |     2    |
|  6 |    31   |   3  |     2    |
 ---- --------- ------ ---------- 
  

Как мне экспортировать значения, чтобы сгруппировать их по ID_USER, QUESTION и составить среднее значение заметок? Значения, которые должны быть сгруппированы, как в таблице ниже:

  ---- ---------- --------- ------------- 
| ID | QUESTION | ID_USER | MEDIUM_NOTE |
 ---- ---------- --------- ------------- 
|  1 |     1    |    12   |       6     |
|  2 |     1    |    31   |       2     |
|  3 |     2    |    12   |       10    |
|  4 |     2    |    31   |      5.5    |
 ---- ---------- --------- ------------- 
  

Спасибо!

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

1. Не могли бы вы, пожалуйста, попробовать этот запрос? ВЫБЕРИТЕ ВОПРОС, ID_USER, СРЕДНЕЕ ЗНАЧЕНИЕ (ПРИМЕЧАНИЕ) В КАЧЕСТВЕ СРЕДНЕГО ЗНАЧЕНИЯ Из ГРУППЫ имя_таблицы ПО ВОПРОСУ, ID_USER;

Ответ №1:

 SELECT 
    id_user,
    question,
    AVG(note) AS medium_note
FROM notes 
GROUP BY id_user, question
  

Вы можете сгруппировать по пользователю и вопросу, а затем вычислить среднее значение.

Пример

Ответ №2:

Предполагая, что столбец id уникален :

 SELECT id,question,id_user,avg(note) as 'MEDIUM_NOTE' FROM table_name GROUP BY id_user,question ORDER BY id;