2012-04-10 7 views
10

Hey Guyz Es esto posible obtener el número total de filas cuenta con el límite de desplazamientoEs esto posible obtener el número total de filas cuenta con el límite de desplazamiento

Escenario

SELECT * FROM users limit 0,5; 

esta consulta contiene 300 registros, pero el El problema es si llamo a esta consulta con desplazamiento el resultado será mostrar solo 5 registros y no quiero escribir una consulta en dos veces. uno para el límite de paginación y otra para el total del número de registros sin ...

no quiero este

SELECT * FROM users limit 0,5; // paging 
SELECT count(*) FROM users; // count 

tengo que combinar esta Consultas o ayuda son sin duda apreciado

+0

1) ¿Por qué no ejecutarlos por separado? 2) ¿Tienes una cláusula 'limit' extra en la consulta' count'? –

+1

Este es el breve ejemplo de consulta y tengo una gran consulta por la que no quiero escribir una consulta dos veces @MostyMostacho –

Respuesta

7

puede utilizar SQL_CALC_FOUND_ROWS como esto

SELECT SQL_CALC_FOUND_ROWS * FROM users limit 0,5; 

Se pone el número de filas antes de aplicando cualquier cláusula LIMIT. Se necesita otra consulta a buscar los resultados, sino que consulta puede ser simplemente

SELECT FOUND_ROWS() 

y por lo tanto no tiene que repetir su consulta complicada.

Cuestiones relacionadas