Soy un poco vago, y sólo he hecho una tabla llamada "aa", con id, maxpeso, y totalpeso.
Con los datos del ejemplo, la query:
Código SQL:
Ver originalSET @a:=0;
SET @b:=0;
SELECT p1.id,IF(p1.posicion >= p2.posicion,0,1) grupo
FROM
(SELECT id,@a AS posicion,@a:=@a+1 FROM aa ORDER BY maxpeso DESC) p1
INNER JOIN
(SELECT id,@b AS posicion,@b:=@b+1 FROM aa ORDER BY totalpeso DESC) p2
ON p1.id=p2.id ORDER BY grupo;
da como resultado:
id;grupo
1;0
4;0
2;1
3;1
5;1
No me he fijado mucho en cuál debe ser la prioridad en caso de empate, pero eso se ajusta con el >= del IF.
Los que van al grupo 0, son los clasificados por pez más grande.