Прошу прощения, если этот вопрос глупый. Код довольно легко понять.
Синтаксическая ошибка возникает в последней строке. Как я могу преодолеть это?
SELECT id FROM m_users ORDER BY id DESC LIMIT (SELECT COUNT(*) FROM tmp_students);
Вы можете использовать оконные функции:
SELECT u.id FROM (SELECT u.*, ROW_NUMBER() OVER (ORDER BY id DESC) as seqnum FROM m_users u ) u WHERE seqnum <= (SELECT COUNT(*) FROM tmp_students) ORDER BY id DESC