Я пытаюсь придумать запрос, который позволит мне подсчитать значения двух столбцов одной и той же таблицы. Например,
table: rider_geo_addresses
==================================
|id | origin_id | destination_id |
==================================
1 4 8
1 2 6
1 8 4
1 6 2
1 1 5
1 2 8
Мне нужен запрос, который даст мне объединенное количество origin_id и destination_id отсортированных des c
table: result
============================
| geo_addresses | counter |
============================
8 3
2 3
6 2
4 2
5 1
1 1
Я попытался получить значения в двух отдельных таблицах и используйте union , чтобы объединить их, но он не принимает во внимание те же значения, которые могут отображаться в обоих столбцах. Вот что я пробовал
select ( origin_id) as geo_addresses, count(origin_id) as counter
from rider_geo_addresses
where rider_profile_id
group by origin_id
union
select ( destination_id) as geo_addresses, count(destination_id) as counter
from rider_geo_addresses
where rider_profile_id
group by destination_id
order by counter desc;