Вы не можете сделать это любым эффективным способом. Структура самой базы данных неэффективна, и вы не можете преодолеть это с любым видом запроса.
Патрик показал вам, как это сделать для одного поля таблицы. Теперь сделайте запрос, содержащий 115 раз ... Как видите, это неэффективно.
У вас должны быть значения в таблице, где данные, которые вы теперь имеете в именах полей, соответствуют данным; в полях:
id v q value
-------------
1 1 1 2
1 1 2 4
1 2 1 0
1 2 2 1
1 3 1 3
1 3 3 2
2 1 1 0
2 1 2 1
2 1 2 0
2 2 1 4
...
Теперь, когда у вас есть все данные как фактические данные, вы можете эффективно получить информацию:
select v, q, value, count(*)
from TheTable
group by v, q, value