Autor Tema: Sacar Top 10 en una tabla  (Leído 4236 veces)

0 Usuarios y 1 Visitante están viendo este tema.

javierjava

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +6/-0
    • Ver Perfil
Sacar Top 10 en una tabla
« en: Junio 28, 2012, 07:38:21 pm »
Que tal alguien me podria echar una manita con una consulta.
tengo las siguiente tablas:
Clientes
id
nombre
direccion
telefono

factura
idcliente
fecha
total

entre estas dos tablas tengo que hacer una consulta que me saque los clientes que an comprado mas entre dos fecha alguien que me de una idea de como hacerlo.



Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Sacar Top 10 en una tabla
« Respuesta #1 en: Junio 28, 2012, 08:37:03 pm »
Hola.
No lo probé ni soy experto en SQL, pero supongo que sería algo así:
Código: (SQL) [Seleccionar]
SELECT COUNT(facturas.id) AS cantidadfacturas, clientes.id, clientes.nombre
FROM facturas, clientes
WHERE facturas.idcliente = clientes.id AND facturas.fecha BETWEEN #" & fechaDesde & "# AND #" & fechaHasta & "#
GROUP BY facturas.idcliente
ORDER BY cantidadfacturas DESC LIMIT 10"
Espero que te sirva y que si está mal, alguien más te dé una mano.
Saludos.

YAcosta: Por favor, el código queda mas legible si usas CODE y /CODE (Alli en el editor dice Código). Edite en tu mensaje para mostrarte como queda. Fuera de eso, gracias por tu aporte.
Saludos
« última modificación: Junio 29, 2012, 02:41:03 am por YAcosta »

ssccaann43

  • Moderador
  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Sacar Top 10 en una tabla
« Respuesta #2 en: Junio 29, 2012, 01:07:23 pm »
Código: (SQL) [Seleccionar]
SELECT COUNT(facturas.id) AS cantidadfacturas, clientes.id, clientes.nombre
FROM facturas, clientes
WHERE facturas.idcliente = clientes.id AND facturas.fecha BETWEEN #" & fechaDesde & "# AND #" & fechaHasta & "#
GROUP BY clientes.id, clientes.nombre
ORDER BY cantidadfacturas DESC LIMIT 10

La agrupación la haces por los campos que estas mostrando en el Query....! Ojo con eso...!

Consulta y luego dinos...!  ;)
Miguel Núñez.

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Sacar Top 10 en una tabla
« Respuesta #3 en: Junio 29, 2012, 05:09:39 pm »
YAcosta: perdón, no lo sabía. Muchas gracias por la aclaración.
ssccaann43: muchas gracias por la corrección, no lo había advertido.
Saludos.

Jerónimo

javierjava

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +6/-0
    • Ver Perfil
Re:Sacar Top 10 en una tabla
« Respuesta #4 en: Junio 29, 2012, 06:31:14 pm »
Gracias por la ayuda me sirvio de mucho gracias ;D

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Sacar Top 10 en una tabla
« Respuesta #5 en: Junio 29, 2012, 07:17:49 pm »
Hacer una consulta que me saque los clientes que an comprado mas entre dos fecha
Otra opción:

Código: (SQL) [Seleccionar]
Select c.nombre, Sum(f.total)
FROM factura f, clientes c
WHERE f.idcliente = c.id And
      f.fecha BETWEEN #" & fechaDesde & "# AND #" & fechaHasta & "#
GROUP BY c.nombre
ORDER BY Sum(f.total) DESC LIMIT 10

Checa si debes cambiar LIMIT por TOP o por FIRST


s.e.u.o

Saludos
Me encuentras en YAcosta.com