Non puoi avere direttamente un valore dinamico per limit, ma la tua query può essere riscritta senza il limite, come segue:
set i := (select count(*) from tableCBA);
select id
from tableABC
where (i := i-1) = 0;
Ciò restituirà l'ennesima riga, dove n è il numero di righe in tableCBA;