Выборка из базы наиболее часто встречающихся значений по столбцам
Необходимо сделать выборку такого плана:
- Указываем значение mana_cap, например 15, выбираем.
- В выбранных строках необходимо выбрать по столбцу summoner_id наиболее часто встречающееся значение
- Из результатов выборки пункта 2 необходимо выбрать по столбцу monster_1_id наиболее часто встречающееся значение и так до monster_6_id
Скурил уже весь google, но так и не пойму как это сделать, помогите пожалуйста
Сейчас дошел до этого, но мне кажется что запрос выбирает просто по каждому столбцу наиболее часто встречающееся значение из всей базы, а не из результатов выборки по предыдущему столбцу.
( SELECT summoner_id
FROM battles where mana_cap ='12'
GROUP BY summoner_id
ORDER BY COUNT(*) DESC
, summoner_id DESC
LIMIT 1
) AS summoner_id,
( SELECT monster_1_id
FROM battles where mana_cap ='12'
GROUP BY monster_1_id
ORDER BY COUNT(*) DESC
, monster_1_id DESC
LIMIT 1
) AS monster_1_id,
( SELECT monster_2_id
FROM battles where mana_cap ='15'
GROUP BY monster_2_id
ORDER BY COUNT(*) DESC
, monster_2_id DESC
LIMIT 1
) AS monster_2_id,
( SELECT monster_3_id
FROM battles where mana_cap ='12'
GROUP BY monster_3_id
ORDER BY COUNT(*) DESC
, monster_3_id DESC
LIMIT 1
) AS monster_3_id,
( SELECT monster_4_id
FROM battles where mana_cap ='12'
GROUP BY monster_4_id
ORDER BY COUNT(*) DESC
, monster_4_id DESC
LIMIT 1
) AS monster_4_id;
