with
    date_table as (
        select
            t2.user_id,
            date_format(Max(t2.review_date), "%Y-%m-%d") AS latest_review_date
        from
            course_completions t1
            left join content_reviews t2 on t1.user_id = t2.user_id
            and t1.course_id = t2.course_id
        group by
            t2.user_id
    ),
    rating as (
        SELECT
            t1.user_id,
            round(AVG(t2.rating), 2) AS average_rating,
            (
                case
                    when avg(t2.rating) >= 4 then "优质反馈学员"
                    else "普通反馈学员"
                end
            ) as feedback_type
        FROM
            course_completions t1
            LEFT JOIN content_reviews t2 ON t1.user_id = t2.user_id
            AND t1.course_id = t2.course_id
        WHERE
            t1.course_id = 'DS-102'
            AND DATE_FORMAT(t1.completion_date, '%Y%m') = '202503'
        GROUP BY
            t1.user_id
        order by
            CASE
                WHEN feedback_type = '普通反馈学员' THEN 0
                ELSE 1
            END ASC,
            average_rating desc,
            t1.user_id
    )
select
    t3.user_id,
    average_rating,
    feedback_type,
    latest_review_date
from
    rating t3
    left join date_table t4 on t3.user_id = t4.user_id