Try this:
SELECT A.*, u.name
FROM (SELECT c.*, IF(@updateId = @updateId:=update_id, @idx:=@idx+1, @idx:=0) idx
FROM comms c, (SELECT @updateId:=0, @idx:=0) A
WHERE update_id IN ('1451', '1416', '1186', '1157', '1150', '1122', '1057', '914', '850', '816', '794', '790', '749', '746', '745', '744', '740')
ORDER BY update_id, id DESC
) AS A
INNER JOIN users AS u ON u.id = A.user_id
WHERE A.idx < 3