Câu trả lời hay nhất mà tôi tìm thấy:
SELECT*
FROM (
SELECT list.*, @counter := @counter +1 AS counter
FROM (select @counter:=0) AS initvar, list
ORDER BY value DESC
) AS X
where counter <= (10/100 * @counter);
ORDER BY value DESC
Thay đổi 10 để nhận một tỷ lệ phần trăm khác.