Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   con respecto al LIMIT (http://www.forosdelweb.com/f86/con-respecto-limit-507875/)

juandedios 25/07/2007 12:17

con respecto al LIMIT
 
Saludos:

Estoy haciendo una consulta con varias tablas:

SELECT A.campo, B.campo, C.campo FROM etc...

y quiero limitarlo a 10 registros con el LIMIT (si hay otra forma me gustaria saberla), pero quiero limitarla a 10 registros de la tabla A.

No se si me estoy dejando entender, algo mejor quizas, la tabla A es clientes y la B es detalles de pedidos, entonces quiero listar los pedidos de los 10 clientes que piden mas.

Espero puedan ayudarme.

chainsawcr 25/07/2007 14:00

Re: con respecto al LIMIT
 
Hola Aprendiz,

No se si esta solución es la que estes buscando pero es una que en lo particular me funciona. Claro espero que estes usando mysql 5.x para mayor compatibilidad por los joins.

Tabla a es donde estan los detalles de la compra la tabla b es donde estan compradores que son los que quieres limitar en el ejemplo los limite a 5 pero claro puedes limitarlos a lo que quieras.
__________________________________________________

select b.valor1, b.valor2, a.valo1, a.valor2
from tablaA as a inner join (
select *
from tablaB
limit 5
) as b
ON a.valor1 = b.valor1
__________________________________________________

Genetix 25/07/2007 14:24

Re: con respecto al LIMIT
 
Hola
No te compliques
Usa un Order BY, por el campo de cantidad y pones limit 10
Cita:

select A.campo, B.campo, count(B.pedido) as cantidad, C.campo FROM A, B, C, WHERE A.id=B.id AND B.id=C.id Group by B.pedido ORDER BY cantidad DESC Limit 10
Saludos!

juandedios 25/07/2007 15:16

Re: con respecto al LIMIT
 
Lo que yo e hecho esta aquí:
Código:

SELECT
A.cr_code AS code,
A.cr_cliente AS cli_ruc,
B.cli_name AS cli_name,
SUM(A.cr_total) AS totalcompra,
SUBSTR(C.crd_cproducto,9,3) AS barra,
C.crd_nproducto AS producto,
SUM(C.crd_cantidad) AS qde
FROM cuentasrecibir A, clientes B, cuentasrecibirdetalle C
WHERE A.cr_cliente = B.cli_ruc AND A.cr_code = C.crd_code AND NOT A.cr_estado = 'A'
GROUP BY A.cr_cliente, C.crd_cproducto
ORDER BY A.cr_total DESC
LIMIT 10

y sale lo que quiero, pero saca 10 registros del conjunto, lo que yo quiero es que me devuelva 10 clientes y de cada cliente los pedidos que hizo.


La zona horaria es GMT -6. Ahora son las 20:46.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.