SELECT `users`.`id`, `act1`.`count`, `act2`.`count`, `act3`.`count` FROM `users`
LEFT OUTER JOIN (SELECT `id`, COUNT(*) as `count` FROM `users` WHERE `action` = 'Действие 1' GROUP BY `id`) `act1` ON `act1`.`id` = `users`.`id`
LEFT OUTER JOIN (SELECT `id`, COUNT(*) as `count` FROM `users` WHERE `action` = 'Действие 2' GROUP BY `id`) `act2` ON `act2`.`id` = `users`.`id`
LEFT OUTER JOIN (SELECT `id`, COUNT(*) as `count` FROM `users` WHERE `action` = 'Действие 3' GROUP BY `id`) `act3` ON `act3`.`id` = `users`.`id`