SELECT COALESCE(TO_CHAR(calendaryear), 'All years') AS Year, COALESCE(channelname, 'All channels') AS Channel, COUNT(DISTINCT orderkey) AS Orders_Num FROM dimorderchannel doc INNER JOIN factonlinesales fos ON doc.channelkey = fos.channelkey INNER JOIN dimdate dd ON dd.datekey = fos.orderdatekey WHERE calendaryear IN (2023, 2024) GROUP BY GROUPING SETS ( (TO_CHAR(calendaryear), channelname), (TO_CHAR(calendaryear)), (channelname), () ) ORDER BY 1, 3 ;