https://foro.gambas-es.org/viewtopic.php?f=3&t=5204
-----------------------------------
tincho
Lunes, 29 Febrero 2016, 17:29

Fraccionar Un Resultado SQL.
-----------------------------------
Hola a todos.

¿Es posible fraccionar un resultado de una consulta SQL?

Esto lo he preguntado en el hilo de la clase latex, pero como en realidad es una pregunta de bases de datos, lo pongo acá también.
Me he topado con un inconveniente, para imprimir registros en un informe que estoy desatollando.
Resulta que debo repartir, por ejemplo 200 registros en porciones de 45 por cada pagina, y estoy utilizando la clase latex y quisiera saber si es posible hacer las consultas sql para generar resultados parciales de, por ejemplo 45 registros como máximo.
En este ejemplo en 4 resultados de 45 registros y uno remanente con los 20 registros restantes.

Saludos.


-----------------------------------
shordi
Lunes, 29 Febrero 2016, 17:43

Re: Fraccionar Un Resultado SQL.
-----------------------------------
Con mysql sí:

[code linenumbers=false syntax=gambas]Select * from my tabla limit 0, 45
[/code]
te daría el primer conjunto y 

y luego
[code linenumbers=false syntax=gambas]
Select * from my tabla limit 46, 45[/code]

El segundo, etc. Con SQLite no lo he probado nunca.


-----------------------------------
vicr
Lunes, 29 Febrero 2016, 18:10

Re: Fraccionar Un Resultado SQL.
-----------------------------------
Sí, usando Limit y Offset...

Acá más ejemplos y una forma con Where y Limit

http://www.cristalab.com/tutoriales/optimizar-consultas-sql-para-paginar-resultados-en-mysql-c92972l/

Saludos...


-----------------------------------
v3ctor
Lunes, 29 Febrero 2016, 18:16

Re: Fraccionar Un Resultado SQL.
-----------------------------------
eso esta interesante usar en una base de datos donde se guardar record de algún juego, para poder hacer un top 10, top 50 o top 100
 ahora no se me ocurre otro idea  :roll:  ando mal de imaginación jajajja  :sad:


-----------------------------------
tincho
Martes, 01 Marzo 2016, 12:35

Re: Fraccionar Un Resultado SQL.
-----------------------------------
En PostgreSQL esta sentencia no funciona:
[code linenumbers=false syntax=gambas]
SELECT * FROM mi-tabla LIMIT 0, 45
[/code]

Pero esta si lo hace:
[code linenumbers=false syntax=gambas]
SELECT * FROM mi-tabla LIMIT 45 OFFSET 0
[/code]

Saludos.


-----------------------------------
shordi
Martes, 01 Marzo 2016, 12:55

Re: Fraccionar Un Resultado SQL.
-----------------------------------
A ver si lo puse al revés (que es lo que tiene escribir de memoria...) y es
[code linenumbers=false syntax=gambas]SELECT * FROM mi-tabla LIMIT 45, 0[/code] 
¿Lo has probado? porque si es así, el limitar a 0 el número de registros, no funcionaría, claro...


-----------------------------------
tincho
Martes, 01 Marzo 2016, 13:41

Re: Fraccionar Un Resultado SQL.
-----------------------------------
[quote user="shordi" post="30574"]A ver si lo puse al revés (que es lo que tiene escribir de memoria...) y es
[code linenumbers=false syntax=gambas]SELECT * FROM mi-tabla LIMIT 45, 0[/code] 
¿Lo has probado? porque si es así, el limitar a 0 el número de registros, no funcionaría, claro...[/quote]
Ok, lo cambie al revés pero parece que el problema es la sinaxis.
 [img]http://foro.gambas-es.org/files/images/2590/screenshot_at_2016_03_01_13_36_13.png[/img] 
Saludos.


