Выборка из базы наиболее часто встречающихся значений по столбцам

Структура БД Структура базы

Необходимо сделать выборку такого плана:

  1. Указываем значение mana_cap, например 15, выбираем.
  2. В выбранных строках необходимо выбрать по столбцу summoner_id наиболее часто встречающееся значение
  3. Из результатов выборки пункта 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;

Ответы (0 шт):