Предполагам, че всъщност не искате да GROUP BY някакъв_продукт.
Отговорът на: „Има ли начин да GROUP BY псевдоним на колона, като some_product в този случай, или трябва да поставя това в подзаявка и да групира това?" е: Не можете да GROUP BY псевдоним на колона.
SELECT клауза, където са присвоени псевдоними на колони, се обработва едва след GROUP BY клауза. Може да се използва вграден изглед или общ табличен израз (CTE), за да се направят резултатите достъпни за групиране.
Вграден изглед:
select ...
from (select ... , CASE WHEN col1 > col2 THEN SUM(col3*col4) ELSE 0 END AS some_product
from ...
group by col1, col2 ... ) T
group by some_product ...
CTE:
with T as (select ... , CASE WHEN col1 > col2 THEN SUM(col3*col4) ELSE 0 END AS some_product
from ...
group by col1, col2 ... )
select ...
from T
group by some_product ...