Selecting id for a group by query is useless. You should only select the column you are using in group by and other columns that are being applied aggregate functions.
Hope this works for you.
SELECT id,
serial_num,
Max(`version`) `version`
FROM tbl1
GROUP BY serial_num