SELECT
u.familiya AS `Фамилия`,
u.imya AS `Имя`,
u.otchestvo AS `Отчество`,
COUNT(DISTINCT d.id_dogovor) AS `Количество договоров`,
ROUND(
SUM(
c.cena * 0.001 *
DATEDIFF(d.data_vozvrata, d.data_vidachi)
),
2
) AS `Сумма договоров`,
COUNT(DISTINCT s.id_strafa) AS `Количество штрафов`,
SUM(vs.summa) AS `Сумма штрафов`
FROM users u
JOIN dogovor d
ON u.id_user = d.id_user
JOIN car c
ON d.id_car = c.id_car
JOIN shtrafi s
ON d.id_dogovor = s.id_dogovor
JOIN vidy_shtrafov vs
ON s.id_shtraf = vs.id_shtraf
GROUP BY
u.id_user,
u.familiya,
u.imya,
u.otchestvo
HAVING COUNT(DISTINCT d.id_dogovor) > 2
ORDER BY `Сумма штрафов` DESC;