WITH t0 AS ( SELECT city, sum( loan_amount ) AS total_loan_amount, round( sum( loan_amount ) / count( DISTINCT customer_name ), 2 ) AS average_loan_amount, count( DISTINCT customer_name ) AS total_customers FROM customers c LEFT JOIN loan_applications l ON l.customer_id = c.customer_id GROUP BY city ) SELECT t0.city, total_loan_amount, average_loan_amount, total_customers, most_applied_loan_type FROM ( SELECT city, loan_type_name AS most_applied_loan_type, count( l0.loan_type_id ) AS cnt, ROW_NUMBER() over ( PARTITION BY city ORDER BY count( l0.loan_type_id ) DESC, l1.loan_type_id ) AS rk FROM loan_application_types l0 LEFT JOIN loan_types l1 ON l0.loan_type_id = l1.loan_type_id JOIN loan_applications l3 ON l0.application_id = l3.application_id LEFT JOIN customers c ON l3.customer_id = c.customer_id GROUP BY 1, 2, l1.loan_type_id ) t JOIN t0 ON t.city = t0.city WHERE rk = 1 ORDER BY 1

京公网安备 11010502036488号