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

Restar filas en una tabla

Estas en el tema de Restar filas en una tabla en el foro de Mysql en Foros del Web. Hola amigos, les agradezco su atención en este foro. Les comento mi inquietud. Tengo un tabla que almacena miles de registros de la siguiente forma ...
  #1 (permalink)  
Antiguo 13/08/2014, 13:19
 
Fecha de Ingreso: agosto-2014
Mensajes: 2
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Restar filas en una tabla

Hola amigos, les agradezco su atención en este foro. Les comento mi inquietud.

Tengo un tabla que almacena miles de registros de la siguiente forma

id nombreF pts
1 A 2
2 A 3
3 A 5
4 A 9
5 A 12
6 A 13
7 A 15
8 B 1
9 B 3
10 B 7
11 B 8
. . .
. . .
. . .

LA idea es hacer que las A se resten desde la última hacia arriba, de igual forma con las B, las C, etc. Con el fin de obtener una tabla con las diferencias.

nombreF Diferencia

A (3-2) 1
A (5-3) 2
...
B (3-1) 2

(Lo de los paréntesis no es necesario, es solo parte de la explicación) Espero haberme explicaco y que me puedan ayudar. Gracias de antemano.
  #2 (permalink)  
Antiguo 13/08/2014, 13:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Restar filas en una tabla

Cita:
LA idea es hacer que las A se resten desde la última hacia arriba, de igual forma con las B, las C, etc. Con el fin de obtener una tabla con las diferencias.
Para lograr eso debería haber una forma de relacionar unívocamente un registro con "A" con un único registro con "B", y en lo que muestras no se aprecia.
No basta con decir "del primero al último", los DBMS no ordenan realmente del "primero" al "último", porque eso dependerá de las claves primarias definidas en la tabla... y lo que muestras parece un ejemplo algo imaginario o supuesto.
En resumen, si no se puede determinar qué registro "A" se relaciona con qué registro "B", en una cardinalidad 1:1, no es posible hacer lo que pides de una forma precisa y simple.
¿La tabla de muestra que posteas es real, o es un ejemplo genérico?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/08/2014, 14:18
 
Fecha de Ingreso: agosto-2014
Mensajes: 2
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Restar filas en una tabla

Hola amigo, gracias por responder. Es una tabla real. La A no se relaciona con B, o por lo menos no de esa forma...

la primera tabla muestra un campo llamado "id", que es la clave primaria. En esa tabla hay miles de registros.

En la segunda tabla, que es una tabla de resultados, intento obtener la diferencia entre el registro n y el registro (n-1), pero solo de cuyos campos "NombreF" son iguales. algo más o menos de este estilo.

IdR____________nF________p1____p2_____resta
1 ____________ A ________ 1 ____ 3 _____ 2
2 ____________ A ________ 3 ____ 5 _____ 2
3 ____________ A ________ 5 ____ 12 ____ 7
4 ____________ B ________ 1 ____ 4 _____ 3
5 ____________ B ________ 4 ____ 6 _____ 6

Etiquetas: mysql+consulta, restas
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 23:47.