sql interview questions group by having