WITH t1 AS(
    SELECT product_id,sum(quantity) total_quantity
    FROM sales_underline
    GROUP BY product_id
),
t2 AS(    
    SELECT product_id,round(avg(rating),2) average_rating
    FROM reviews_underline 
    GROUP BY product_id
)

SELECT a.product_id,a.product_name,t1.total_quantity,t2.average_rating
FROM products_underline AS a
INNER JOIN t1 ON a.product_id = t1.product_id
INNER JOIN t2 ON a.product_id = t2.product_id
WHERE t2.average_rating < 4
ORDER BY average_rating ASC,product_id ASC

我的方法可能比较繁琐,我是先将下面两个表的数据聚合计算出平均分和售出总数,然后再将三个表连结选出符合条件的列