Mostrar sólo el tercer registro de un select

29/10/2008 - 09:20 por Don Juan | Informe spam
Hola a todos.
Tengo un Select que me muestra este resultado:

Nombre Calificación
Juan A
Carlos B
María A
Julio C
Martín A

Necesito saber sólo el tercer registro de este select (cualquier nombre y
calificación pero siempre el tercer registro) en este caso María A

1000 gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
29/10/2008 - 12:09 | Informe spam
¿Pero qué es lo que entiendes tú por "tercer registro" ? ¿Cómo están
ordenados esos registros?

Una vez que tengas definido dicho orden, puedes usar la función ROW_NUMBER
(mira en los BOL para más información) y filtrar por el valor que quieras (en
este caso, 3)

"Don Juan" wrote:

Hola a todos.
Tengo un Select que me muestra este resultado:

Nombre Calificacin
Juan A
Carlos B
Mara A
Julio C
Martn A

Necesito saber slo el tercer registro de este select (cualquier nombre y
calificacin pero siempre el tercer registro) en este caso Mara A

1000 gracias

Respuesta Responder a este mensaje
#2 Don Juan
29/10/2008 - 12:20 | Informe spam
- Tercer registro es la tercera posición dinámica que me da cualquier
select!.
- Los registros "pueden" estar ordenados por "calificación", me interesa el
que tiene la calificación en tercera posición.

Según tengo entendido el Row_Count vale para SQL Server 2005, alguna idea
para el 2000?

1000 gracias

"Carlos Sacristan" wrote in
message news:
¿Pero qué es lo que entiendes tú por "tercer registro" ? ¿Cómo están
ordenados esos registros?

Una vez que tengas definido dicho orden, puedes usar la función ROW_NUMBER
(mira en los BOL para más información) y filtrar por el valor que quieras
(en
este caso, 3)

"Don Juan" wrote:

Hola a todos.
Tengo un Select que me muestra este resultado:

Nombre Calificacin
Juan A
Carlos B
Mara A
Julio C
Martn A

Necesito saber slo el tercer registro de este select (cualquier nombre y
calificacin pero siempre el tercer registro) en este caso Mara A

1000 gracias

Respuesta Responder a este mensaje
#3 Carlos Sacristan
29/10/2008 - 12:32 | Informe spam
Si no fuerzas ningún orden, decir cuál es el "tercer" registro es irrelevante
(SQL Server no te garantiza que te devuelva los datos en el mismo orden si no
se lo indicas explícitamente). Por eso te preguntaba que cómo defines el
orden de ese conjunto de registros, para poder estar seguro que esa tercera
posición es la que quieres obtener.

De todos modos, si aún así (sin forzar ningún orden), quieres obtener ese
tercer registro, prueba con lo siguiente:

create table #t (
id int identity(1,1)
, nombre varchar(100)
, calificacion char(1)
)


insert #t (nombre, calificacion)
select 'Juan', 'A'
union select 'Carlos' , 'B'
union select 'Mara','A'
union select 'Julio','C'
union select 'Martn','A'

select * from #t where id = 3

drop table #t

"Don Juan" wrote:

- Tercer registro es la tercera posición dinámica que me da cualquier
select!.
- Los registros "pueden" estar ordenados por "calificación", me interesa el
que tiene la calificación en tercera posición.

Según tengo entendido el Row_Count vale para SQL Server 2005, alguna idea
para el 2000?

1000 gracias

"Carlos Sacristan" wrote in
message news:
> ¿Pero qué es lo que entiendes tú por "tercer registro" ? ¿Cómo están
> ordenados esos registros?
>
> Una vez que tengas definido dicho orden, puedes usar la función ROW_NUMBER
> (mira en los BOL para más información) y filtrar por el valor que quieras
> (en
> este caso, 3)
>
> "Don Juan" wrote:
>
>> Hola a todos.
>> Tengo un Select que me muestra este resultado:
>>
>> Nombre Calificacin
>> Juan A
>> Carlos B
>> Mara A
>> Julio C
>> Martn A
>>
>> Necesito saber slo el tercer registro de este select (cualquier nombre y
>> calificacin pero siempre el tercer registro) en este caso Mara A
>>
>> 1000 gracias
>>

Respuesta Responder a este mensaje
#4 Gustavo Larriera (MVP)
29/10/2008 - 15:11 | Informe spam
How to generate ROWNUM in SQL Server SELECT
http://samsudeenb.blogspot.com/2008...erver.html

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Don Juan" wrote:

- Tercer registro es la tercera posición dinámica que me da cualquier
select!.
- Los registros "pueden" estar ordenados por "calificación", me interesa el
que tiene la calificación en tercera posición.

Según tengo entendido el Row_Count vale para SQL Server 2005, alguna idea
para el 2000?

1000 gracias

"Carlos Sacristan" wrote in
message news:
> ¿Pero qué es lo que entiendes tú por "tercer registro" ? ¿Cómo están
> ordenados esos registros?
>
> Una vez que tengas definido dicho orden, puedes usar la función ROW_NUMBER
> (mira en los BOL para más información) y filtrar por el valor que quieras
> (en
> este caso, 3)
>
> "Don Juan" wrote:
>
>> Hola a todos.
>> Tengo un Select que me muestra este resultado:
>>
>> Nombre Calificacin
>> Juan A
>> Carlos B
>> Mara A
>> Julio C
>> Martn A
>>
>> Necesito saber slo el tercer registro de este select (cualquier nombre y
>> calificacin pero siempre el tercer registro) en este caso Mara A
>>
>> 1000 gracias
>>

Respuesta Responder a este mensaje
#5 Don Juan
29/10/2008 - 15:42 | Informe spam
Gracias!!!


"Carlos Sacristan" wrote in
message news:
Si no fuerzas ningún orden, decir cuál es el "tercer" registro es
irrelevante
(SQL Server no te garantiza que te devuelva los datos en el mismo orden si
no
se lo indicas explícitamente). Por eso te preguntaba que cómo defines el
orden de ese conjunto de registros, para poder estar seguro que esa
tercera
posición es la que quieres obtener.

De todos modos, si aún así (sin forzar ningún orden), quieres obtener ese
tercer registro, prueba con lo siguiente:

create table #t (
id int identity(1,1)
, nombre varchar(100)
, calificacion char(1)
)


insert #t (nombre, calificacion)
select 'Juan', 'A'
union select 'Carlos' , 'B'
union select 'Mara','A'
union select 'Julio','C'
union select 'Martn','A'

select * from #t where id = 3

drop table #t

"Don Juan" wrote:

- Tercer registro es la tercera posición dinámica que me da cualquier
select!.
- Los registros "pueden" estar ordenados por "calificación", me interesa
el
que tiene la calificación en tercera posición.

Según tengo entendido el Row_Count vale para SQL Server 2005, alguna idea
para el 2000?

1000 gracias

"Carlos Sacristan" wrote in
message news:
> ¿Pero qué es lo que entiendes tú por "tercer registro" ? ¿Cómo están
> ordenados esos registros?
>
> Una vez que tengas definido dicho orden, puedes usar la función
> ROW_NUMBER
> (mira en los BOL para más información) y filtrar por el valor que
> quieras
> (en
> este caso, 3)
>
> "Don Juan" wrote:
>
>> Hola a todos.
>> Tengo un Select que me muestra este resultado:
>>
>> Nombre Calificacin
>> Juan A
>> Carlos B
>> Mara A
>> Julio C
>> Martn A
>>
>> Necesito saber slo el tercer registro de este select (cualquier nombre
>> y
>> calificacin pero siempre el tercer registro) en este caso Mara A
>>
>> 1000 gracias
>>

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida