все вышесказанное верно. Пожалуйста, будьте уверены, прежде чем это число в строке, сделав «typeot x === 'number», «другой мудрый он вернет NaN
var num = "fsdfsdf242342";
typeof num => 'string';
var num1 = "12423";
typeof num1 => 'number';
+num1 = > 12423`
Вам не нужно группировать для второго запроса .. у вас нет агрегированной функции
select p.date, sum(p.pageviews) as "total_pageviews", sum(p.sessions) as "total_sessions",l.location_id, p.brand_key
FROM public.local_site_sessions p, public.location_map l
where l.affiliate_id = p.affiliate_id
group by p.date, p.brand_key, l.location_id
union
select g.date, g.sessions , g.pages_per_session ,g.location_id, brand_key
FROM public.ga_lead g
И вам не следует использовать старое имплицитное объединение в зависимости от того, где используется явное объединение. упорядочить по последнему выбору, и вы не должны использовать псевдоним для второго выбора
select p.date, sum(p.pageviews) as "total_pageviews", sum(p.sessions) as "total_sessions",l.location_id, p.brand_key
FROM public.local_site_sessions p
INNER JOIN public.location_map l ON l.affiliate_id = p.affiliate_id
group by p.date, p.brand_key, l.location_id
union
select g.date, g.sessions , g.pages_per_session ,g.location_id, brand_key
FROM public.ga_lead g
order by 1,4,5
Просто добавьте внешний выбор к первому запросу объединения
Select * from
( Select.... union Select.... )