sp Para Filtrar Serie

11/09/2008 - 19:15 por Juan Marcial | Informe spam
Buenas a todos -
Tengo una tabla Sample, con solo dos campos:
Time (datetieme) (key)
Value (float)

En línea se generan datos como los que sigue
Time Value
01/01/08 00:00:00 0.0
01/01/08 00:00:10 0.123
01/01/08 00:00:12 1.858
01/01/08 00:00:33 1.260
01/01/08 00:00:38 1.260
01/01/08 00:00:46 1.260
01/01/08 00:00:55 1.260
01/01/08 00:01:02 1.260
01/01/08 00:01:10 1.260
01/01/08 00:01:20 1.260
01/01/08 00:01:33 3.140
01/01/08 00:01:40 3.140
01/01/08 00:01:51 3.140
01/01/08 00:01:59 1.268
...

Bien, quisiera un Store Procedure que generará esta serie:
Time Value
01/01/08 00:00:00 0.0
01/01/08 00:00:10 0.123
01/01/08 00:00:12 1.85
01/01/08 00:00:33 1.26
01/01/08 00:01:20 1.26
01/01/08 00:01:33 3.14
01/01/08 00:01:51 3.14
01/01/08 00:01:59 1.26
...

Es decir, se filtran los repetidos internos

¿Muy complejo?

Gracias por adelantado.
Juan Marcial
Ingeniero de Software
 

Leer las respuestas

#1 Alejandro Mesa
11/09/2008 - 21:43 | Informe spam
Juan Marcial,

¿Muy complejo?



Si, sobre todo cuando no se provee un criterio o logica a seguir. La proxima
vez trata de explicar con palabras lo que deseas.

Deja ver si entendi bien. Si existen mas de una fila con el mismo valor,
deseas seleccionar las que tienen el min y max valor en la columna [Time],
correcto?

Tal vez podamos alcanzar lo que deseas, si usamos las funciones de ranking

;with r_set
as
(
select
[Time], [Valor],
row_number(partition by [Valor] order by [Time]) as rn1,
row_number(partition by [Valor] order by [Time] DESC) as rn2
from
tu_tabla
)
select [Time], [Valor]
from r_set
where rn1 = 1 or rn2 = 1;
GO


AMB



"Juan Marcial" wrote:

Buenas a todos -
Tengo una tabla Sample, con solo dos campos:
Time (datetieme) (key)
Value (float)

En línea se generan datos como los que sigue
Time Value
01/01/08 00:00:00 0.0
01/01/08 00:00:10 0.123
01/01/08 00:00:12 1.858
01/01/08 00:00:33 1.260
01/01/08 00:00:38 1.260
01/01/08 00:00:46 1.260
01/01/08 00:00:55 1.260
01/01/08 00:01:02 1.260
01/01/08 00:01:10 1.260
01/01/08 00:01:20 1.260
01/01/08 00:01:33 3.140
01/01/08 00:01:40 3.140
01/01/08 00:01:51 3.140
01/01/08 00:01:59 1.268
...

Bien, quisiera un Store Procedure que generará esta serie:
Time Value
01/01/08 00:00:00 0.0
01/01/08 00:00:10 0.123
01/01/08 00:00:12 1.85
01/01/08 00:00:33 1.26
01/01/08 00:01:20 1.26
01/01/08 00:01:33 3.14
01/01/08 00:01:51 3.14
01/01/08 00:01:59 1.26
...

Es decir, se filtran los repetidos internos

¿Muy complejo?

Gracias por adelantado.
Juan Marcial
Ingeniero de Software

Preguntas similares