select max(id) as id,max(name) as `name`,max(is_quit) as `isQuit`,max(position_id) as `positionId`,phone as `phone`,group_concat(company_name) as `companyName` from app_shareholder_detail where is_quit=0 and position_id=1 group by phone
union ALL
select max(id) as id,max(name) as `name`,max(is_quit) as `isQuit`,max(position_id) as `positionId`,phone as `phone`,group_concat(company_name) as `companyName` from app_shareholder_detail where is_quit=0 and position_id=2 group by phone
union ALL
select max(id) as id,max(name) as `name`,max(is_quit) as `isQuit`,max(position_id) as `positionId`,phone as `phone`,group_concat(company_name) as `companyName` from app_shareholder_detail where is_quit=1 and position_id =1 group by phone
union all
select max(id) as id,max(name) as `name`,max(is_quit) as `isQuit`,max(position_id) as `positionId`,phone as `phone`,group_concat(company_name) as `companyName` from app_shareholder_detail where is_quit=1 and position_id =2 group by phone