Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Realizar una consulta de cantidad de pedidos

Estas en el tema de Realizar una consulta de cantidad de pedidos en el foro de Mysql en Foros del Web. Hola a todos, estoy con un problema que no logro resolver hace días, ojala puedan ayudarme. Realizo un consulta a la db que me arroja ...
  #1 (permalink)  
Antiguo 13/07/2015, 11:22
 
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Realizar una consulta de cantidad de pedidos

Hola a todos, estoy con un problema que no logro resolver hace días, ojala puedan ayudarme.

Realizo un consulta a la db que me arroja un listado con todos los pedidos de la siguiente forma:

Código SQL:
Ver original
  1. SELECT codcliente,idpedido,nombrecliente,fecha,hora FROM pedidoscli ORDER BY fecha DESC;

El resultado es algo similar a esto:

Código SQL:
Ver original
  1. codcliente idpedido     nombrecliente           fecha             hora
  2. 000638  |    1741    |     BBBBB BBBBB    | 2015-07-10    |     13:59:52
  3. 001357  |    1743    |     AAAAA AAAAA    | 2015-07-10    |     17:50:22
  4. 001357  |    1744    |     AAAAA AAAAA    | 2015-07-10    |     17:51:40
  5. 001343  |    1697    |     CCCCC CCCCC    | 2015-06-29    |     09:52:45

Lo que necesito es imprimir en la misma tabla en HTML, la cantidad de pedidos de cada cliente.
Para ello realizo un COUNT y luego lo agrupo con GROUP BY, pero el problema es precisamente que al agruparlos no me lista todos los pedidos sino el más viejo.

Código SQL:
Ver original
  1. SELECT codcliente,COUNT(*),idpedido,nombrecliente,fecha,hora FROM pedidoscli GROUP BY codcliente ORDER BY fecha DESC;

Siguiendo con el ejemplo anterior que arroja lo siguiente:

Código SQL:
Ver original
  1. codcliente COUNT(*) idpedido     nombrecliente           fecha             hora
  2. 000638     | 1 |      1741    | BBBBB BBBBB    |    2015-07-10    |     13:59:52
  3. 001357     | 2 |      1743    | AAAAA AAAAA    |    2015-07-10    |     17:50:22
  4. 001343     | 1 |      1697    | CCCCC CCCCC    |    2015-06-29    |     09:52:45

Y en realidad lo que estaría necesitando es esto:

Código SQL:
Ver original
  1. codcliente COUNT(*) idpedido     nombrecliente           fecha             hora
  2. 000638     | 1 |      1741    | BBBBB BBBBB    |    2015-07-10    |     13:59:52
  3. 001357     | 2 |      1743    | AAAAA AAAAA    |    2015-07-10    |     17:50:22
  4. 001357     | 2 |      1744    | AAAAA AAAAA    |    2015-07-10    |     17:51:40
  5. 001343     | 1 |      1697    | CCCCC CCCCC    |    2015-06-29    |     09:52:45

Estuve probando con subconsultas, pero ya me maree bastante.
Espero se entienda mi explicación sino me preguntan, desde ya muchas gracias de antemano a todos.
  #2 (permalink)  
Antiguo 13/07/2015, 17:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Realizar una consulta de cantidad de pedidos

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. codcliente VARCHAR(20),
  4. idpedido INT,
  5. nombrecliente VARCHAR(20)
  6. )
  7.  
  8.  
  9.  
  10. INSERT INTO #temp VALUES ('000638'  ,    1741    ,     'BBBBB BBBBB')
  11. INSERT INTO #temp VALUES ('001357'  ,    1743    ,     'AAAAA AAAAA')
  12. INSERT INTO #temp VALUES ('001357'  ,    1744    ,     'AAAAA AAAAA')
  13. INSERT INTO #temp VALUES ('001343'  ,    1697    ,     'CCCCC CCCCC')
  14.  
  15. SELECT * FROM(
  16. SELECT COUNT(*) AS total, codcliente FROM #temp GROUP BY codcliente) AS t1
  17. LEFT JOIN #temp AS t2 ON (t1.codcliente=t2.codcliente)
Resultado:
total codcliente codcliente idpedido nombrecliente
1 000638 000638 1741 BBBBB BBBBB
1 001343 001343 1697 CCCCC CCCCC
2 001357 001357 1743 AAAAA AAAAA
2 001357 001357 1744 AAAAA AAAAA
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 14/07/2015, 00:08
 
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Realizar una consulta de cantidad de pedidos

Muchas gracias!! lo pude solucionar adaptando un poco tu código, te agradezco muchísimo!!

Etiquetas: cantidad, fecha, group, pedidos, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:32.