SELECT A.*
FROM data A
INNER JOIN (SELECT datafile_id, index, AVG(pvalue) pvalue, AVG(margstat) margstat
FROM data
GROUP BY datafile_id, index) B
ON A.datafile_id = B.datafile_id AND A.index = B.index
ORDER BY B.pvalue DESC, B.margstat DESC, A.datafile_id, A.index, A.pvalue DESC, A.margstat