select
    round(sum(total)*1.0,3) as sales_total,
    round(sum(total) / count(distinct user_id) * 1.0 , 3)per_trans
from (
    select
        user_id,
        goods_id,
        sum(sales_num * goods_price) as total
    from sales_tb
    join goods_tb using(goods_id)
    group by goods_id,user_id
) as u1