Hádám, že ve skutečnosti nechcete GROUP BY nějaký_produkt.
Odpověď na: "Existuje způsob, jak GROUP BY alias sloupce, jako je v tomto případě some_product, nebo to musím vložit do poddotazu a seskupit to?" je: Nemůžete GROUP BY alias sloupce.
SELECT klauzule, kde jsou přiřazeny aliasy sloupců, se zpracuje až po GROUP BY doložka. Ke zpřístupnění výsledků pro seskupování lze použít vložený pohled nebo společný tabulkový výraz (CTE).
Inline zobrazení:
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 ...