Что дало понять, что взвешивание будет более уместным? Что вы видите в арифметическом средстве, которое вам не помогает? Мне любопытно, потому что кажется, что ответ, который вы ищете, не обязательно отвечает вашим потребностям наилучшим образом. (Кроме того, 16-балльная шкала, как правило, намного больше, чем нужно большинству людей; люди редко различают такое количество баллов и склонны группировать свои ответы вокруг выбранной группы ответов.)
Концепция, с которой вы связаны, подтягивает среднее значение к среднему значению для сайта; ваше среднее значение просто тянет себя к наиболее распространенному ответу. Как правило, если вы используете среднее значение и хотите взвешивать ответы, вы должны делать это, основываясь на ответах респондентов (придавая больший вес ответам более осведомленных людей, людей, которые чаще посещают сайт, или другим подобным вещам).
Вы могли бы также рассмотреть возможность использования расчетов, отличных от средних баллов, возможно, в процентном соотношении с верхним N-процентным значением (процент респондентов, давших наивысший рейтинг сложности N).
В противном случае формулой для вашего среднего значения будет сумма (ответ * количество * количество) / сумма (количество * количество) ...
select sum(response*ct*ct)/sum(ct*ct) from
( select response, count(response) as ct from your_table group by response) data
Извините, если синтаксис не точен, у меня нет MySQL на работе.
Обратите внимание, что вам, возможно, придется конвертировать суммы из целых чисел в числа с плавающей запятой; не уверен, как именно это работает в MySQL. В SQL Server вам нужно привести одну из сумм, чтобы понять, что вам не нужно целочисленное значение.