select * from company inner join (select company_id,max(action_date) as ma from attack group by company_id) b on a.id=b.company_id inner join attack c on b.company_id=c.company_id and b.ma=c.action_date inner join action d on c.action_id=d.id
select a.name,max(action_date),c.name from company a,attack b,action c where b.company_id=a.id and b.action_id=c.id group by action_date
(select company_id,max(action_date) as ma from attack group by company_id) b on a.id=b.company_id
inner join attack c on b.company_id=c.company_id and b.ma=c.action_date
inner join action d on c.action_id=d.id
where b.company_id=a.id and b.action_id=c.id group by action_date