Чтобы не было дубликатов, надо сделать две группировки с помощью group by. Это возможно, с помощью под-запросов. Я еще плох в синтаксисе, чтобы сходу написать это в вашем примере, но в работе уже писал такой запрос, все работает. Надеюсь кому-то поможет знание о под-запросах группировках в каждом из них. Также придется использовать алиасы.