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

Como puedo agrupar datos consecutivos, respetando el orden ?

Estas en el tema de Como puedo agrupar datos consecutivos, respetando el orden ? en el foro de SQL Server en Foros del Web. Tengo el siguiente problema . Este es un ejemplo simplificado de mi problema, pero esto es lo que me pasa. Tengo esta tabla : Id ...
  #1 (permalink)  
Antiguo 04/07/2011, 10:44
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Como puedo agrupar datos consecutivos, respetando el orden ?

Tengo el siguiente problema .

Este es un ejemplo simplificado de mi problema, pero esto es lo que me pasa. Tengo esta tabla :

Id valor
A 30
A 20
B 10
C 10
A 20
C 20

Si aplico Select id, sum(valor) from tabla group by id devuelve

Id valor
A 70
B 10
C 30

Lo que necesito es que me devuelva

Id valor
A 50
B 10
C 10
A 20
C 20

Necesito agrupar, pero respetando el orden.
Ojala alguien me pueda ayudar, muchas gracias
  #2 (permalink)  
Antiguo 05/07/2011, 08:01
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, 7 meses
Puntos: 774
Respuesta: Como puedo agrupar datos consecutivos, respetando el orden ?

Con los datos que das no vas a poder agrupar de esa manera ya que no hay ningun distintivo para que agrupe por un modo o por otro, tienes alguna otra columna para distinguir??

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 05/07/2011, 08:21
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Como puedo agrupar datos consecutivos, respetando el orden ?

Gracias por leer. Lamentablemente no tengo otro campo que indique cambio de estado. lo trate de hacer mediante programación pasando la tabla original a una matriz, luego la recorro y agrupo hasta que no cambie de estado..
ahora el problema que este es un ejemplo para que entiendan mi problema. el real tiene 300 campos y muchas sub consultas..
por eso quiero resolverlo mediante SQL. debe poderse..
  #4 (permalink)  
Antiguo 05/07/2011, 08:49
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, 7 meses
Puntos: 774
Respuesta: Como puedo agrupar datos consecutivos, respetando el orden ?

Esque si por ejemplo tuvieras

id valor
A 30
A 20
B 10
C1 10
A1 20
C1 20


Entonces se podria agrupar por el id, de otra manera esta muy dificil que le digas que te sume los primeros 2 de la A y luego el otro y asi...

Saludos!!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 27/07/2011, 07:54
 
Fecha de Ingreso: julio-2011
Mensajes: 1
Antigüedad: 12 años, 8 meses
Puntos: 0
Busqueda Respuesta: Como puedo agrupar datos consecutivos, respetando el orden ?

Pienso que haciendo bajo programación está mucho más fácil.

En vez de cambiarle el nombre, podrías añadir una nueva columna que renombrará con un entero cada vez que cambia de letra, y luego agrupas a razón de este número. Es decir, algo así:

Si tuvieras:

id Valor NuevaCol
A 30 1
A 20 1
B 10 2
C 10 3
A 20 4
C 20 5
C 10 5

Y ya podrías agrupar a razón de NuevaCol. Y así no perderías el id de las letras.
No sé, a mi se me ocurre así.

Etiquetas: agrupar, orden
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 12:08.