FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Consulta sql maximos
Hola
Tengo un problemilla con una consulta. Estoy haciendo unas estadisticas en builder para mi programa usando interbase, por ejemplo una consulta muy sencilla es seleccionar los clientes q mas compran en el gimnasio: SELECT C.IDCLIENTE, NOMBRE, DNI, COUNT(IDVENTA) AS NUMVENTAS FROM CLIENTE C INNER JOIN VENTA V ON C.IDCLIENTE = V.IDCLIENTE GROUP BY C.IDCLIENTE,NOMBRE,DNI; El problema es q cuando hay muchos clientes muestro a todos, entonces queria seleccionar por ejemplo solo a los 5 clientes q mas compran, y eso ya no lo se hacer pq tampoco tengo mucho nivel de sql. A ver si alguien me puede ayudar y no se me complica mucho. Gracias Un saludo |
#2
|
||||
|
||||
Con la consulta que tienes, puedes ordenar (ORDER BY) por NUMVENTAS descendente (DESC) y usar un TOP para quedarte con los 5 primeros.
Algo así:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Muchas gracias, pero no me funciona, y por lo que vi en la ayuda del interbase, no existe esa funcion, nose si habra otra equivalente.
Un saludo |
#4
|
||||
|
||||
Saludos.
En Interbase/Firebird tienes SKIP, FIRST y ROWS.
__________________
Gracias, Rolphy Reyes |
#5
|
|||
|
|||
Buff, no se muy bien como usar esos operadores(first,row....). Buscando por internet encontre que interbase no tiene operadores especiales para limitar el tamaño de una consulta. A ver si alguien me puede ayudar en la consulta que os enseñe mas arriba.
Un saludo y mil gracias |
#6
|
||||
|
||||
Saludos.
Cita:
NO especificas que versión del motor estas utilizando, por ejemplo SKIP esta desde Interbase 6, FIRST en FireBird >= 1.5 y por ultimo ROWS en Interbase >= 6.5 y Firebird >= 2. Ejemplos:
__________________
Gracias, Rolphy Reyes |
#7
|
|||
|
|||
Yo utilizo el interbase 6.0, y no me permite ninguna de esas funciones, asi que no creo q pueda hacer nada, pero gracias por todo.
Un saludo |
#8
|
||||
|
||||
Pues si tienes Interbase 6 (Open Source) puedes fácilmente migrar a FireBird 2.1 sin muchos contratiempos. Y así podrás obtener mayor estabilidad y velocidad con este motor.
__________________
Gracias, Rolphy Reyes |
#9
|
|||
|
|||
El problemas es que es para el proyecto fin de carrera, y la tutora solo me deja en este interbase, que la verdad que me da mil problemas.
Quise poner una condicion para disminuir el numero de registros a mostrar: SELECT C.IDCLIENTE,NOMBRE, DNI, COUNT(IDVENTA) AS NUMVENTAS FROM ( CLIENTE C INNER JOIN VENTA V ON C.IDCLIENTE=V.IDCLIENTE) WHERE NUMVENTAS > 1 GROUP BY NOMBRE,DNI,C.IDCLIENTE; y me dice q la columna NUMVENTAS es desconocida, q yo creo q en otros programas funciona bien. Muchas gracias a todos y perdonar pero es q es lo ultimo para terminar el proyecto. |
#11
|
|||
|
|||
Muchas gracias funciona perfecto, y por lo menos arreglo un poco el problema del first, top,....
Muchisimas gracias por la ayuda |
#12
|
|||
|
|||
Mejores Clientes...
Crea el siguiente procedimiento:
Y lo llamas así:
Saludos y nos platicas como te fue... Gerardo Suárez Trejo. (Y si te sacas diez de calificación en la tesis: 5 para tí y 5 para mi ) Última edición por Gallosuarez fecha: 13-07-2008 a las 19:23:54. |
#13
|
|||
|
|||
Hola, perdona la tardanza pero como ya dije es que trabajo y hasta estas horas no tengo tiempo libre. No me va, me da un error de que no se puede crear el procedimiento, supongo que sera esta version del interbase que me da mil fallos, pero no te preocupes pq lo consegui arreglar con 'where'. No obstante guarde ese procedimiento para otras veces.
Muchas gracias por este magnifico foro y vuestra ayuda un saludo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Realizar una consulta sobre los registros que devuelve otra consulta | Borjaserrano | Firebird e Interbase | 12 | 01-10-2007 23:19:44 |
Consulta dentro de otra consulta | judit25 | Conexión con bases de datos | 1 | 25-06-2007 15:52:15 |
Histograma. Obtener máximos y mínimos relativos | Delphius | Varios | 7 | 16-04-2007 12:12:46 |
Maximos | Carlex | SQL | 1 | 03-02-2005 19:23:53 |
consulta sobre consulta | superhopi | SQL | 2 | 16-05-2003 19:01:47 |
|