selecting complete rows grouped by one column based on the maximum of another
general answer

SELECT t1.* from [table] t1 
JOIN (SELECT column1, MAX(column3) as max_c3 from [table] group by column1) t2 
ON t1.column1 = t2.column1 AND t1.column3 = t2.max_c3


how is it work - 

SELECT column1, MAX(column3) as max_c3 from [table] group by column1) t2


prepare all rows with correct column1 and MAX(column3)

JOIN ON t1.column1 = t2.column1 AND t1.column3 = t2.max_c3 


correctly select other columns corrected for result,

if table have more than 1 row with same MAX(column3) - query return 1 row for each MAX(column3) result.

Example data:

id; column1; column2; column3;column4
1   10  50  1   1
2   10  60  2   2
3   12  50  3   3
4   12  60  4   4
5   11  70  5   5
6   10  99  6   6
7   11  55  7   7
8   10  60  6   8


result:

id; column1; column2; column3;column4
8   10  60  6   8   10  6
6   10  99  6   6   10  6
7   11  55  7   7   11  7
4   12  60  4   4   12  4


if delete from table row with id=8 (remove duplicates for max(column3)), result will be:

id; column1; column2; column3;column4
6   10  99  6   6   10  6
7   11  55  7   7   11  7
4   12  60  4   4   12  4