2011-06-13 12 views
5

¿Existe alguna forma clara de limitar el número de visitas desde una instrucción SQLite3 SELECT?SQLite3 y limitando el número de resultados

Por ejemplo, podría consultar con SELECT * FROM myTable WHERE name='Smith'; dándome cuenta de que podía encontrar miles de visitas. Me gustaría que SQLite3 me diga, por ejemplo, los primeros 10 que encuentre y luego termine la consulta. ¿Cómo hago esto?

Si SQLite3 no proporciona esto inmediatamente, ¿hay algo que pueda editar en el código fuente SQLite3 desde el cual puedo reconstruir?

Supongamos que estoy en un entorno en el que solo tengo un hilo y me gustaría recuperar el control en un tiempo razonable.

+0

@Todo: Gracias - Me gustaría aceptar cada una de sus respuestas. – SK9

Respuesta

10

Usted está buscando el LIMIT cláusula:

SELECT * FROM myTable WHERE name='Smith' LIMIT 10 
4

Ver la sintaxis SELECT: hay una palabra clave LIMIT:

select * from sometable where .... limit 10; 

Mira el OFFSET también puede ser útil para los resultados de paginación . (También estos se combinan a menudo con una cláusula de ORDER BY si quieres resultados consistentes a través de consultas.)

3

Desde el SQLite docs:

se utiliza para colocar un límite superior en el número de filas devueltas por la cláusula LIMIT una instrucción SELECT. Cualquier expresión escalar se puede usar en la cláusula LIMIT, siempre que se evalúe como un entero o un valor que se puede convertir sin pérdidas a un entero. Si la expresión se evalúa como un valor NULL o cualquier otro valor que no se pueda convertir sin pérdidas a un entero, se devuelve un error. Si la expresión LIMIT se evalúa como un valor negativo, no hay un límite superior en la cantidad de filas devueltas. De lo contrario, SELECT devuelve las primeras N filas de su conjunto de resultados únicamente, donde N es el valor que evalúa la expresión LIMIT. O bien, si la instrucción SELECT devolverá menos de N filas sin una cláusula LIMIT, entonces se devuelve todo el conjunto de resultados.

Cuestiones relacionadas