Подскажите алгоритм запроса на подсчет количества разных объектов по группам в зависимости от кода и вывод во view по полу

У меня есть 4 таблицы, 3 из которых участвует для связи many-to-many, а четвертая с основными двумя сущностями:

Subject, создается всегда

id name addressId sex has_object
75675 Anna 4 f false
75677 Sam 7 m true
75678 Toma 3 f true

Object, который, создается вместе с subject, но не обязательный к заполнению

id name addressId is_fake
3434 House 3 false
3435 Parking 3 true
3433 Shop 6 false

sub_obj, промежуточная для связывания таблиц

id sub_id obj_id
1 75678 3434
2 75677 3433
3 75675 3435

Address, id которого в двух первых

id code city country continent
1 100 100 100 Rome Italy Europe
2 100 130 234 Venice Italy Europe
3 100 200 343 Paris France Europe
4 100 200 643 Brest France Europe
5 100 200 244 Nice France Europe
6 200 340 244 Brasilia Brazil South America
7 200 250 244 Rio de janeiro Brazil South America

Предполагается, что в представление будет присылаться код адреса (либо пустое значение для группировки по континентам, либо код континента для отчета по странах, либо код страны для группировки по городам), и в зависимости от него(в разрезе мира, континента, и страны) будет вычиcлятся сумма субъектов и субъектов по названию адреса по полу в по странам Европы

name_area Count_male subject_total Count_male subject_with_object count_object_by_male Count_female subject_total Count_female_subject_with_object count_object_by_female
Italy 0 0 0 0 0 0
France 0 0 0 2 1 1

По континентам

name_area Count_male subject_total Count_male subject_with_object count_object_by_male Count_female subject_total Count_female_subject_with_object count_object_by_female
Europe 0 0 0 2 1 1
South America 1 1 1 0 0 0

Как найти и сгруппировать по странам континента, если известно, что первой цифре страны соответствует первая цифра номера континента (x00000000), которая присылается с бэка, и в дальнейшем можно было произвести подсчет количества obj и subj относительно этой страны

в по странам Европы (входной параметр 100000000)

name_area Count_male subject_total Count_male subject_with_object count_object_by_male Count_female subject_total Count_female_subject_with_object count_object_by_female
Italy 0 0 0 0 0 0
France 0 0 0 2 1 1

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

Автор решения: Yan12

Ответ Akira под вопросом. Спасибо

→ Ссылка