![]() |
Contar líneas de consulta.
Veamos. Tengo la siguiente consulta:
Esta me devuelve los datos que quiero, no hay problema. Lo que pasa es que también necesito saber cuántas líneas devuelve sin tener que obtener la consulta completa, ya que puede devolverme sopocientasmildos líneas, y como es para una web la cosa se puede eternizar. Lo que busco es "paginar" así que en la consulta definitiva utilizaré "LIMIT", de ahí que quiera contar las líneas. En definitiva, me gustaría sacar algo parecido a: pero no me sale. Lo he intentado de varias maneras pero no consigo que me devuelva lo que quiero, porque o me devuelve un valor mayor al esperado o devuelve varias líneas con valores rarísimos :confused:. El problema es que quiero saber cuántos "detalle_pedido.productos_id" distintos hay. No sé si me he explicado. Si no quedó claro, pregunten que intentaré aclararlo. Gracias. |
Hola Nuño, te devuelve los valores raros porque estas haciendo un count sobre cada grupo. Has hecho la prueba de hacer un count sobre el resultado de tu consulta.
Saluditos |
Pues eso es lo que quiero hacer, el problema es que me devuelve un error:
Cita:
Yo de SQL sé lo justo... [edito] Olvidé mencionar que utilizo MySQL, por si sirve de algo. |
¿No debería ser así?,:
Por cierto, no mencionaste si estás trabajando con PHP :p;). |
Olvidé dar las gracias a Caro por su aportación. Espero que no te molestes :)
@ecumene, pues gracias también pero no, me devuelve error de sintaxis en la séptima línea (justo en el "), `productos`,..."). Gracias de todas formas. Y sí, estoy utilizando PHP pero el problema está en el SQL. Evidentemente las pruebas las estoy haciendo diréctamente en la base de datos y poniendo fechas reales. Así que por ahí no creo que esté el problema. |
Bueno no se pierde nada con el intento ¿NO? :p:p:p
|
Hola de nuevo nuño, el ejemplo que puse si funciona, pero en Firebird. Mysql también maneja subconsultas en el From, solo que tienes que darle un alias al resultado, revisa esta pagina http://dev.mysql.com/doc/refman/5.0/...med-views.html
Saluditos |
No habia visto el error que pusiste "
#1248 - Every derived table must have its own alias ", parece que el error es justamente por el alias que le falta a la consulta.
Saluditos |
Gracias [Caro]. :)
Ahora me sale error porque dice que la función SUM no existe, pero creo que eso puedo solucionarlo. Si no lo consigo, ya preguntaré. |
Creo que en lugar de la subconsulta- que podría ser muy tardada- podrías usar found_rows en combinación con SQL_CALC_FOUND_ROWS en la consulta. Con eso se supone que puedes saber cuántos registros hay en total sin no se usara LIMIT, de manera que puedes usarlo para paginar.
// Saludos |
¿Y por qué no me lo has dicho antes? ;):p:D
Gracias roman, lo tendré en cuenta. |
| La franja horaria es GMT +2. Ahora son las 05:36:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi