Как исправить этот sql запрос, чтобы он работал корректно?

Имеется MySQL таблица Sakila Sample Database.Пытаюсь выполнить задание:

Нужно одним запросом вывести id клиента, полное имя (ФИ), адрес, округ, город, страна, сумма платежей клиента в 2006 году, количество арендованных клиентом фильмов за все время. И это все только по жителям РФ.

Я в своих рассуждениях пришел к двум запросам. Оба работают не совсем корректно.

1.

select distinct a.ID, a.name, a.address, a.city, c.district, a.country
     , if(year(b.payment_date)=2006, sum(b.amount), 0) as SUM_payments
     , count(d.customer_id) as Total_Films 
from customer_list a 
left join payment b on a.ID=b.customer_id 
join address c on a.address=c.address 
left join rental d on b.rental_id=d.rental_id 
where a.country = 'Russian Federation' 
group by a.ID, b.amount, b.payment_date, c.district order by a.name;
select distinct a.ID, a.name, a.address, a.city, b.district, a.country
     , if(year(c.payment_date)=2006, sum(c.amount), 0) as SUM_payments
     , count(d.customer_id) as Quantity_Films 
from customer_list a 
join address b on a.address=b.address 
join payment c on a.ID=c.customer_id 
join rental d on a.ID=d.customer_id 
where a.country = 'Russian Federation' 
group by c.customer_id, c.payment_date, b.district order by a.name;

Проблема с последними двумя столбцами: перестраивая запрос, я добиваюсь корректного подсчета либо одного, либо второго. Никак не могу разобраться, чем это можно пофиксить. Буду благодарен за помощь.

Также сам запрос возможно построен полностью некорректно, т.к. у меня не получилось полностью убрать лишние строки в выводе с помощью distinct. Но и эту проблему я не понимаю как решить.

первый случай

второй случай


Ответы (0 шт):