有一列表
id score a b c
1 9.9 0 0 1
1 9.8 1 1 1
1 9.5 0 0 1
1 9.3 1 1 0
1 9 1 0 0
1 8.9 0 1 1
1 8.8 0 0 0
想得到的列表
id score a b c
1 9.9 0 0 1
1 9.3 1 1 0
1 8.8 0 0 0
就是取表中分数从高到低的3个观测值,要求是a或b或c最多只能出现一次,0代表没有,1代表有。例如,取第一行后,c=1,所以后面取的值中c不能=1,总共取前3.求高手指点,谢谢。