id   uid1   uid2
1    1     2
2    1     3
3    2     3
4    1     2
5    2     1
6    1     3
7    3     1
8    1     3
9    1     4按照上面的表,请问如何取出uid = 1倒序的前三条不相同的记录
select * from table where uid1 = 1 order by id desc limit 3;
想得到的结果
id   uid1   uid2
9    1     4
8    1     3
4    1     2
而不是得到这样的结果
id   uid1   uid2
9    1     4
8    1     3
6    1     3请问要得到这样结果的查询语句应该如何写,谢谢