This is my table structure:
File | Version | Function 1 | 1 | 1 1 | 2 | 1 1 | 3 | 1 1
In SQLite 3.7.11 or later, when you use MAX, the other values are guaranteed to come from the row with the largest value:
SELECT File, MAX(Version) AS Version, Function FROM MyTable GROUP BY File