MariaDB 10.2 реализует «Функции окна», включая RANK (), ROW_NUMBER () и несколько других вещей:
https://mariadb.com/kb/en/mariadb/window -функции /
Основываясь на разговоре в Percona Live в этом месяце, они достаточно хорошо оптимизированы.
Синтаксис идентичен коду в Вопросе.