Usa LIMIT para paginar los resultados en la consulta de MySQL
Quiero obtener mis resultados una 'página' a la vez; Quiero que el número de página sea un parámetro (en una declaración preparada de JDBC). Considere el siguiente fragmento de código
SELECT * FROM thread t ORDER BY t.id LIMIT ((? - 1) * 20), 20
Así que idealmente, esto resultaría, para la página 1, aLIMIT 0, 20
.
Cuando pruebo
SELECT * FROM thread t ORDER BY t.id LIMIT ((1 - 1) * 20), 20
Me dicen que tengo un error de sintaxis. Sin embargo, no veo qué podría ser, solo son algunas matemáticas simples. Todo lo que me dice es
ERROR 1064 (42000): Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de '((1 - 1) * 20), 20' en la línea 1
¿Qué estoy haciendo mal con miLIMIT
Cláusula, y ¿cómo puedo solucionarlo?