Yo no entiendo la pregunta... el titulo dice que quiere los ULTIMOS 20, pero luego el select toma los PRIMEROS 20 y solo pregunta como cambiar la ordenacion de los datos, no si son primeros o ultimos... ¿cual de los 2 es tu problema?
Sergio, fíjate que toma los 20 primeros, pero con la ordenación DESCENDING, es decir que en realidad toma los 20 últimos. Pero claro, salen ordenados de mayor a menor (ya que es descending), y lo que quiere es cambiarle la ordenación a ese resultado.
Si hubiera un filtro LAST en lugar de solo el filtro FIRST no necesitaría usar el orden DESCENDING y por tanto ya le saldrían directamente los registros que busca, y en el orden que quiere. Pero como ese filtro no existe, entonces hay que utilizar la solución de Wilson (saltarse n - 20 registros), o la mía (cambiar la ordenación al resultado).