While GROUP BY is commonly used with aggregates and non-aggregates, it's not the only approach. Window functions can combine aggregates with non-aggregated data without GROUP BY. Additionally, some databases allow mixing aggregates and non-aggregates when non-aggregates are functionally dependent on GROUP BY columns.