select
    (
        case
            when pay_method = '' then 'error'
            else pay_method
        end
    ) as pay_method,
    count(*) as cnt
from
    user_client_log u
    left join product_info p on u.product_id = p.product_id
where
    product_name = 'anta'
    and step = 'select'
group by
    pay_method
order by
    cnt desc

  1. 只有select步骤的数据有pay_method字段: where step = 'select'
  2. 如果select中pay_method为''则以error标记pay_method为脏数据: case when pay_method = '' then 'error' else pay_method end