Я пытаюсь выяснить, как получить средние ответы для следующих групп, но я не могу решить это !!
Вот мои настройки стола.
вопрос_группы имеет много вопросов
вопросов ManyToMany мест
вопросов HasMany question_items
мест имеет много представлений
посадочных мест ManyToMany версии
представлений имеет много ответов
Я хотел бы вернуть следующую структуру
{
name: "Comfort",
labels: [
"Seat A", "Seat B5", "Seat C", "Seat D"
]
data: [2.5, 2.9, 1.2, 4.5]
}
Как мне найти среднее значение ответа, сгруппированного по местам и группам вопросов.
Я получил следующий код MySQL, но он выглядит неправильно, и тогда мне нужно будет отформатировать его, чтобы он выглядел выше.
SELECT question_groups.name as 'group', CONCAT(seats.name, ' - ',
versions.name) AS 'seat', avg(answers.value) AS 'value'
FROM question_groups
JOIN questions ON questions.question_group_id = questions.id
JOIN questions_seats ON questions_seats.question_id = questions.id
LEFT JOIN seats ON seats.id = questions_seats.seat_id
LEFT JOIN seats_versions ON seats.id = seats_versions.seat_id
LEFT JOIN versions ON versions.id = seats_versions.version_id
JOIN submissions ON submissions.seat_id = seats.id
JOIN answers ON submissions.id = answers.submission_id
GROUP BY question_groups.name, seats.name, versions.name
Я бы предположил, что это проще с красноречивым использованием ресурсов API, но я не знаю, как работать со многими ко многим частям и получать средние значения для групп