user1 | 1 | user3 | 2
user1 | 1 | user3 | 3
user1 | 3 | user3 | 2
user1 | 3 | user3 | 3Затем GROUP BY объединял их по последнему полю:user1 | 1 | user3 | 2
user1 | 1 | user3 | 3После этого SELECT DISTINCT выбирал только это поле:2
3Ну а уже затем первое из значений возвращалось в PHP.
id name age
1 Вася 17
2 Петя 21
3 Вася 17
4 Миша 19
5 Миша 19t1.id t1.name t1.age t2.id
1 Вася 17 1
2 Петя 21 2
3 Вася 17 NULL
4 Миша 19 4
5 Миша 19 NULLid name age
1 Вася 17
2 Петя 21
4 Миша 19