> И есть простенький запрос:
> SELECT * FROM `mytable` WHERE `system_name` = 'element_10' ORDER BY `id`
> Как получить количество (именно количество, содержимое не важно) строк, которые команда «прошла» до того как получила результат?
Ваш вопрос некорректен. Вы думаете, MySQL всегда передирает все строки подряд? Если бы на поле system_name был индекс, MySQL выбрала бы эту строчку с первого раза, не проходя другие.
Наверно, вы хотели спросить, как посчитать, сколько существует строк, у которых id меньше чем у найденной? Это можно сделат запросом
SELECT COUNT(*) FROM mytable WHERE id < {id найденной строки}
Этот запрос неэффективен, особенно на больших таблицах, потому в случае потребности в нем (например, надо считать на каком месте игрок с заданным числом очков) делают дополнительное поле position, и крон скриптом раз в N минут пересчитывают места. Процесс пересчета можно как-то оптимизировать, сохраняя информацию о вставках и удалениях в таблице.