This is crazy, but if I replace max() by min(), it works… o_O
max()
min()
select col1, col2, col3, max(col4), max(col5), max(col6), from foo group by col1, col2, col3