В общем есть две таблицы: группы (id, название) и пользователи (id, id группы в которой состоит, рейтинг). Нужно найти количество групп, среднее арифметическое рейтинга членов которых больше среднего арифметического какой-то конкретной группы.
Бьюсь уже очень долго, никак не выходит... Вот так ошибка, хотя это самое лучшее решение из тех, что у меня было.. Моя задача вообще выполнима без php?
SELECT
AVG(rating) as this_rating,
(SELECT COUNT(*), u.AVG(rating) as avgr
LEFT JOIN users u ON groups.id=u.group_id
FROM groups
WHERE avgr>this_rating
) as rating_rang
FROM users
WHERE group_id='$group_id'
Примеры таблиц http://sqlfiddle.com/#!2/b01882
Примерно так:
SELECT
all_groups.group_id,
all_groups.rating
FROM
(SELECT AVG(rating) rating
FROM users
WHERE group_id = '$group_id') this_group
JOIN
(SELECT group_id, AVG(rating) rating
FROM users
GROUP BY group_id) all_groups
ON all_groups.rating > this_group.rating
Количество сами посчитаете?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, какие поля формы и какими функциями PHP можно загрузить имя фотографии в SQL базу, и скопировать эту фотографию в определённую папку...