Hola Buenos Dias
Me presento mi Nombre es Juan soy de Istmo de tehuantepec, Oaxaca y me integro a este foro que veo muy interesante la experiencia que tiene en Base de datos Firebird, espero dar un pokito de lo que se y recibir lo mejor de ustedes.
Bien
Estoy haciendo mis pininos con la programacion despues de cambiarme de lazarus hacia C# usando como base de dato Firebird que es muy bondadoso,
como Novato le busco en goolge Select referenciados sale mas ejemplo de RANK en sqlserver y veo que ya lo tiene integrado, mi
solicitud es: tendran algun ejemplo de RANK, pero con Firebird; para aprender y dominar mas este campo.
de antemano mis agradecimientos.
Saludos.
Algun Howto de "RANK" en Firebird
Comenzado por
ematrix
, jun 17 2011 08:29
8 respuestas en este tema
#1
Escrito 17 junio 2011 - 08:29
#2
Escrito 17 junio 2011 - 09:01
Hola.
Que yo sepa en Firebird no existe esta función RANK. ¿ Puedes poner un ejemplo de lo que quieres lograr ?, seguro que hay formas alternativas de calcular la misma consulta.
Saludos.
Que yo sepa en Firebird no existe esta función RANK. ¿ Puedes poner un ejemplo de lo que quieres lograr ?, seguro que hay formas alternativas de calcular la misma consulta.
Saludos.
#3
Escrito 17 junio 2011 - 09:01
No conozco esa función en Firebird, si nos comentas que es lo que esperas de esa función tal vez haya otra forma de hacer lo que necesitas.
Salud OS
Edito: Vaya, me has ganado por un segundo amigo Marc
Salud OS
Edito: Vaya, me has ganado por un segundo amigo Marc
#4
Escrito 17 junio 2011 - 09:42
Exacto en Firebird no existe esa Funcion RANK que la verdad te haria mucho mas facil a la hora de armar tus consultas:
Ok. deja armar bien el planteamiento de mi consulta es sobre un sistema de incidencia y sesion de clases por semana de lunes a sabado.
Gracias
Saludos.
Ok. deja armar bien el planteamiento de mi consulta es sobre un sistema de incidencia y sesion de clases por semana de lunes a sabado.
Gracias
Saludos.
#5
Escrito 17 junio 2011 - 10:04
Hola ematrix, hasta donde he encontrado información esta funcionalidad solo la contempla de momento la versión 3.0 de firebird, aún no me consta, intenté probar con la versión 2.5 pero no funcionó , puedes encontrar al respecto en el siguiente link:
http://asfernandes.b...-functions.html
Saludos.
http://asfernandes.b...-functions.html
Saludos.
#6
Escrito 17 junio 2011 - 11:06
En efecto como dice Freddy, sólo existe a partir de la versión 3.00, además existe DENSE_RANK.
Saludos.
Saludos.
#7
Escrito 18 junio 2011 - 10:27
Bien para los que usamos Firebird,
aqui les dejo un link que diferencia hay entre el RANk y DENSE_RANK,
solo que es en Ingles.
Saludos
http://www.sqlserver...mple-using.html
aqui les dejo un link que diferencia hay entre el RANk y DENSE_RANK,
solo que es en Ingles.
Saludos
http://www.sqlserver...mple-using.html
#8
Escrito 29 junio 2011 - 06:04
Hola Juan,
Puedes usar bloques de codigo, un ejemplo sencillo:
Un saludo
Puedes usar bloques de codigo, un ejemplo sencillo:
set term ^;
execute block
returns (orden integer, orden_denso integer, cliente integer, unidades integer)
as
declare old_unidades integer;
begin
orden= 0;
orden_denso= 0;
old_unidades=-1;
for select f.cliente, count(*) from factura f
group by f.cliente
order by 2
into :cliente, :unidades do begin
if (old_unidades<>unidades) then
orden_denso= orden_denso+1;
orden= orden+1;
suspend;
old_unidades=unidades;
end
end
^
Un saludo
#9
Escrito 29 junio 2011 - 04:46
Cerezo:
Gracias por tu codigo e ingenioso de como sacar el Rank por Registro; muy interesante.
Saludos
Brother.
Gracias por tu codigo e ingenioso de como sacar el Rank por Registro; muy interesante.
Saludos
Brother.